programing

Postgres 데이터베이스의 인코딩 가져오기

javajsp 2023. 5. 29. 09:42

Postgres 데이터베이스의 인코딩 가져오기

데이터베이스가 있는데 데이터베이스의 기본 인코딩을 알아야 합니다.나는 그것을 명령줄에서 얻고 싶습니다.

명령줄에서:

psql my_database -c 'SHOW SERVER_ENCODING'

내부에서psqlSQL IDE 또는 API:

SHOW SERVER_ENCODING;

방법 1:

이미 DB 서버에 로그인한 경우 복사하여 붙여넣기만 하면 됩니다.

SHOW SERVER_ENCODING;

결과:

  server_encoding 
-----------------  
UTF8

클라이언트 인코딩의 경우:

 SHOW CLIENT_ENCODING;

방법 2:.

이미 로그인한 경우에도 이를 사용하여 목록 기반 결과를 가져옵니다.

\l 

프로그래밍 방식 솔루션:

SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = 'yourdb';

데이터베이스 인코딩을 가져오려는 경우:

psql  -U postgres -h somehost --list

다음과 같은 내용이 표시됩니다.

List of databases
           Name         |  Owner   | Encoding
------------------------+----------+----------
db1                     | postgres | UTF8

tl;dr

SELECT character_set_name 
FROM information_schema.character_sets 
;

표준 방법:information_schema

모든 데이터베이스/카탈로그에 있는 SQL 표준 스키마에서라는 이름의 정의된 보기를 사용합니다.이 접근 방식은 모든 표준 데이터베이스 시스템에서 사용할 수 있어야 합니다.

SELECT * 
FROM information_schema.character_sets 
;

이름이 여러 개임에도 불구하고 현재 데이터베이스/카탈로그에 대해 보고하는 단일 행만 표시됩니다.

위에 표시된 쿼리 결과와 함께 pgAdmin 4의 스크린샷

세 번째 열은character_set_name:

데이터베이스 인코딩의 이름을 표시하는 것으로 현재 구현된 문자 집합의 이름

고양이 가죽을 벗기는 방법은 여러 가지가 있기 때문입니다.

psql -l

모든 데이터베이스 이름, 인코딩 등을 표시합니다.

서버 인코딩을 가져오는 다른 방법(https://pgpedia.info/s/server_encoding.html) 에서 설명:

 SELECT current_setting('server_encoding');

유사한 선택을 사용하여 'client_encoding'과 같은 다른 설정을 가져올 수도 있습니다.

언급URL : https://stackoverflow.com/questions/6454146/getting-the-encoding-of-a-postgres-database