获取Postgres数据库的编码

时间:2011-06-23 12:41:20

标签: postgresql

我有一个数据库,我需要知道数据库的默认编码。我想从命令行中获取它。

6 个答案:

答案 0 :(得分:141)

从命令行:

psql my_database -c 'SHOW SERVER_ENCODING'

psql内部,SQL IDE或API:

SHOW SERVER_ENCODING

答案 1 :(得分:44)

方法1:

如果您已登录数据库服务器,只需复制并粘贴即可。

SHOW SERVER_ENCODING;

结果:

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

对于客户端编码:

 SHOW CLIENT_ENCODING;

方法2:

如果您已经登录,请再次使用此选项获取基于列表的结果

\l 

答案 2 :(得分:32)

程序化解决方案:

SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = 'yourdb';

答案 3 :(得分:30)

如果您想获得数据库编码:

psql  -U postgres -h somehost --list

你会看到类似的东西:

List of databases
           Name         |  Owner   | Encoding
------------------------+----------+----------
db1                     | postgres | UTF8

答案 4 :(得分:5)

因为有一种方法可以给猫皮肤涂抹:

psql -l

显示所有数据库名称,编码等。

答案 5 :(得分:4)

TL;博士

SELECT character_set_name 
FROM information_schema.character_sets 
;

标准方式:information_schema

从每个数据库/目录中的SQL-standard schema information_schema,使用名为character_sets的已定义视图。这种方法应该可以在all standard database systems之间移植。

SELECT * 
FROM information_schema.character_sets 
;

尽管名称为复数,但它只显示一行,报告当前数据库/目录。

screenshot of pgAdmin 4 with results of query shown above

第三列是character_set_name

  

字符集的名称,当前实现为显示数据库编码的名称