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

데이터베이스가 있고 데이터베이스의 기본 인코딩을 알아야합니다. 커맨드 라인에서 가져오고 싶습니다.



답변

명령 행에서 :

psql my_database -c 'SHOW SERVER_ENCODING'

within psql, SQL 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


답변

고양이를 껍질을 벗기는 방법은 여러 가지가 있기 때문에 :

psql -l

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


답변

tl; dr

SELECT character_set_name
FROM information_schema.character_sets
;

표준 방식 : information_schema

모든 데이터베이스 / 카탈로그에 있는 SQL 표준 스키마 information_schema 에서라는 정의 된보기를 사용하십시오 character_sets. 이 방법은 모든 표준 데이터베이스 시스템에서 이식 가능해야 합니다 .

SELECT *
FROM information_schema.character_sets
;

이름이 복수 임에도 불구하고 현재 데이터베이스 / 카탈로그를보고하는 단일 행만 표시합니다.

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

세 번째 열은 character_set_name다음과 같습니다.

데이터베이스 인코딩의 이름을 보여 주면서 현재 구현 된 문자 집합의 이름


답변