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

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

105 голосов | спросил Roland 23 J0000006Europe/Moscow 2011, 16:41:20

6 ответов


0

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

psql my_database -c 'SHOW SERVER_ENCODING'

Из psql, SQL IDE или API:

SHOW SERVER_ENCODING
ответил Bohemian 23 J0000006Europe/Moscow 2011, 16:45:49
0

Способ 1:

Если вы уже вошли на сервер базы данных, просто скопируйте и вставьте его.

SHOW SERVER_ENCODING;

Результат:

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

Для кодировки клиента:

 SHOW CLIENT_ENCODING;

Способ 2:

Опять же, если вы уже вошли в систему, используйте это, чтобы получить результат на основе списка

\l 
ответил RunningAdithya 8 Mayam13 2013, 11:22:32
0

Программное решение:

SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = 'yourdb';
ответил Peter Eisentraut 25 J0000006Europe/Moscow 2011, 15:45:17
0

Если вы хотите получить кодировки базы данных:

psql  -U postgres -h somehost --list

Вы увидите что-то вроде:

List of databases
           Name         |  Owner   | Encoding
------------------------+----------+----------
db1                     | postgres | UTF8
ответил Greenisha 23 J0000006Europe/Moscow 2011, 16:48:32
0

TL; др

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:

  

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

ответил Basil Bourque 26 J000000Wednesday17 2017, 06:54:09
0

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

psql -l

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

ответил AMADANON Inc. 6 +03002017-10-06T00:00:12+03:00312017bEurope/MoscowFri, 06 Oct 2017 00:00:12 +0300 2017, 00:00:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132