我有一个数据库,我需要知道数据库的默认编码。我想从命令行获取它。
从命令行:
psql my_database -c 'SHOW SERVER_ENCODING'
从 psql、 SQLIDE 或 API 内部:
psql
SHOW SERVER_ENCODING;
如果要获取数据库编码:
psql -U postgres -h somehost --list
你会看到这样的东西:
List of databases Name | Owner | Encoding ------------------------+----------+---------- db1 | postgres | UTF8
方案解决办法:
SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = 'yourdb';
方法一:
如果您已经登录到数据库服务器,只需复制并粘贴这个。
结果:
server_encoding ----------------- UTF8
客户端编码:
SHOW CLIENT_ENCODING;
方法二:
如果您已经登录,请再次使用此命令获取基于列表的结果
\l
SELECT character_set_name FROM information_schema.character_sets ;
information_schema
从每个数据库/目录中存在的 SQL 标准模式 information_schema,使用定义的名为 character_sets的视图。这种方法应该可以跨 所有标准数据库系统移植。
character_sets
SELECT * FROM information_schema.character_sets ;
尽管名称是复数形式,但它只显示一行,报告当前数据库/目录。
第三栏是 character_set_name:
character_set_name
字符集的名称,当前实现为显示数据库编码的名称
因为剥猫皮的方法不止一种:
psql -l
显示所有数据库名称、编码等。