server_encoding 是一个只读的配置参数,报告当前数据库创建时使用的编码。
server_encoding 在 PostgreSQL 6.4 中被添加。
用法
server_encoding 是 pg_database 表中 encoding 列的文本表示。虽然在检索数据库元数据时此信息可能很有用,但在解释字符串数据时,client_encoding 的当前值通常更相关。
按 PostgreSQL 版本详细信息
server_encoding (PostgreSQL 19)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
预设选项 |
| 简短描述 |
显示服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 18)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
预设选项 |
| 简短描述 |
显示服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 17)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
预设选项 |
| 简短描述 |
显示服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 16)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
预设选项 |
| 简短描述 |
显示服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 15)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
预设选项 |
| 简短描述 |
显示服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 14)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
预设选项 |
| 简短描述 |
显示服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 13)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 12)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 11)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 10)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 9.6)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 9.5)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:server_encoding
server_encoding (PostgreSQL 9.4)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
文档:server_encoding
server_encoding (PostgreSQL 9.3)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
文档:server_encoding
server_encoding (PostgreSQL 9.2)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
文档:server_encoding
server_encoding (PostgreSQL 9.1)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
文档:server_encoding
server_encoding (PostgreSQL 9.0)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
文档:server_encoding
server_encoding (PostgreSQL 8.4)
| 设置 |
SQL_ASCII |
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
SQL_ASCII |
| 重置值 |
SQL_ASCII |
| 源文件 |
|
| 源行 |
|
文档:server_encoding
server_encoding (PostgreSQL 8.3)
| 设置 |
|
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
文档:server_encoding
server_encoding (PostgreSQL 8.2)
| 设置 |
|
| 单位 |
|
| 类别 |
客户端连接默认值 / 区域设置和格式 |
| 简短描述 |
设置服务器(数据库)字符集编码。 |
| 扩展描述 |
|
| 上下文 |
内部 |
| 变量类型 |
string |
| 来源 |
override |
| 最小值 |
|
| 最大值 |
|
文档:server_encoding
变更历史
示例
server_encoding 的基本用法示例
postgres=# SHOW server_encoding;
server_encoding
-----------------
UTF8
(1 row)
不同编码的示例
postgres=# CREATE DATABASE foo TEMPLATE 'template0' LOCALE 'ja_JP.EUC_JP' ENCODING 'EUC_JP';
CREATE DATABASE
postgres=# \c foo
You are now connected to database "foo" as user "postgres".
foo=# SHOW server_encoding;
server_encoding
-----------------
EUC_JP
(1 row)
foo=# SHOW client_encoding;
client_encoding
-----------------
UTF8
(1 row)
使用 current_setting() 在查询中检索值以便进一步处理
postgres=# SELECT 'The server encoding is: ' || current_setting('server_encoding');
?column?
------------------------------
The server encoding is: UTF8
(1 row)
数据库编码也可以直接从 pg_database 查询
postgres=# SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = current_database();
pg_encoding_to_char
---------------------
UTF8
(1 row)