У меня есть база данных, и мне нужно знать кодировку по умолчанию для базы данных. Я хочу получить его из командной строки.
postgresql
Элитмиар
источник
источник
SHOW SERVER_ENCODING;
Способ 1:
Если вы уже вошли на сервер db, просто скопируйте и вставьте это.
SHOW SERVER_ENCODING;
Результат:
server_encoding ----------------- UTF8
Для клиентской кодировки:
SHOW CLIENT_ENCODING;
Способ 2:
Опять же, если вы уже вошли в систему, используйте это, чтобы получить результат на основе списка
источник
Программное решение:
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 ;
Несмотря на множественное число, он показывает только одну строку, сообщающую о текущей базе данных / каталоге.
Третий столбец
character_set_name
:источник