如何查询 postgresql 集群的编码?

Jai*_*ano 6 postgresql encoding

创建新的 postgresql 集群时,您可以为集群指定编码,但我不确定在创建集群后如何检索它。

我已经看到,\encoding你可以看到一个编码,但我不知道这是集群的编码还是客户端的编码。

我还看到,\l我可以看到每个数据库使用的编码。

SHOW server_encoding显示另一种编码。

查询初始化期间使用的值的正确方法是什么?

小智 8

集群中的每个数据库都可以有自己的编码,尽管这对大多数人来说可能没有用。

创建集群时,您指定的编码用于 template1 和 postgres 数据库,因此它是所有新数据库的默认值。不过,您可以使用不同的编码从 template0 创建一个新数据库。

\encoding显示用于客户端<->服务器通信协议的编码,等效于show client_encoding. server_encoding显示用于您当前连接的数据库的编码。如果您连接到 template1,它应该显示用于创建集群的编码。每个数据库的编码列在 中pg_database,例如:should

select datname, pg_encoding_to_char(encoding) from pg_database
Run Code Online (Sandbox Code Playgroud)