У меня есть база данных, и мне нужно знать кодировку по умолчанию для базы данных. Я хочу получить его из командной строки.
Ответы:
Из командной строки:
psql my_database -c 'SHOW SERVER_ENCODING'
Изнутри psql
, SQL IDE или API:
SHOW SERVER_ENCODING
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 -l
Показывает все имена базы данных, кодировку и многое другое.
SELECT character_set_name
FROM information_schema.character_sets
;
information_schema
Из стандартной схемы SQL, information_schema
присутствующей в каждой базе данных / каталоге, используйте определенное представление с именем character_sets
. Этот подход должен быть переносимым для всех стандартных систем баз данных .
SELECT *
FROM information_schema.character_sets
;
Несмотря на множественное число, он показывает только одну строку, сообщающую о текущей базе данных / каталоге.
Третий столбец character_set_name
:
Имя набора символов, в настоящее время реализованного как отображение имени кодировки базы данных