Получение кодировку базы данных Postgres базы данных



У меня есть база данных, и мне нужно знать кодировку по умолчанию для базы данных. Я хочу получить его из командной строки.

545   6  

6 ответов:

из командной строки:

psql my_database -c 'SHOW SERVER_ENCODING'

внутри psql, SQL IDE или API:

SHOW SERVER_ENCODING

Способ 1:

если вы уже вошли на сервер БД, просто скопируйте и вставьте это.

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-стандартная схемаinformation_schema присутствует в каждой базе данных / каталоге, используйте определенное представление с именем character_sets. Этот подход должен быть переносимым через все стандартные системы баз данных.

SELECT * 
FROM information_schema.character_sets 
;

несмотря на то, что имя является множественным, он показывает только одну строку, сообщая о текущем база данных / каталог.

screenshot of pgAdmin 4 with results of query shown above

третья колонка character_set_name:

имя набора символов, реализованного в настоящее время как отображение имени кодировки базы данных

потому что есть более чем один способ освежевать кошку:

psql -l

показывает все имена баз данных, кодирования и многое другое.

Comments

    Ничего не найдено.