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


141

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

답변:


175

명령 행에서 :

psql my_database -c 'SHOW SERVER_ENCODING'

within psql, SQL IDE 또는 API에서 :

SHOW SERVER_ENCODING

질문에 데이터베이스 / 카탈로그 수준 설정이 아닌 서버 수준 설정 (새로 만든 데이터베이스에 사용되는 기본값)이 아닙니까?
Basil Bourque

4
psql 내에서 끝에 세미콜론이 있어야합니다. 즉 SHOW SERVER_ENCODING;
Jon Bernhardt

49

방법 1 :

이미 DB 서버에 로그인 한 경우이를 복사하여 붙여 넣으십시오.

SHOW SERVER_ENCODING;

결과:

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

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

 SHOW CLIENT_ENCODING;

방법 2 :

다시 로그인 한 경우이를 사용하여 목록 기반 결과를 얻습니다.

\l 


32

데이터베이스 인코딩을 얻으려면 다음을 수행하십시오.

psql  -U postgres -h somehost --list

다음과 같은 것을 보게 될 것입니다 :

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

12

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

psql -l

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


5

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다음과 같습니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.