pg_encoding_to_char()
是一个用于将编码的内部标识符转换为人类可读名称的系统函数。
pg_encoding_to_char()
添加于 PostgreSQL 7.0。
用法
pg_encoding_to_char (integer
) →name
在系统目录关系中,对单个编码的引用存储为整数,如 C 枚举pg_enc
中定义的那样,位于src/include/mb/pg_wchar.h(请注意,这些值在 PostgreSQL 版本之间保持稳定的保证)。pg_encoding_to_char()
可用于将这些整数值转换为人类可读的格式。
以下系统目录表包含作为整数的编码引用
pg_collation
(列collencoding
)pg_conversion
(列conforencoding
和contoencoding
)pg_database
(列encoding
)
在 PostgreSQL 15 之前,此函数在 PostgreSQL 文档中没有被引用。
变更历史
- PostgreSQL 15
- 文档已添加(提交 f6b5d05b)
- PostgreSQL 7.0
- 已添加(提交 5eb1d0de)
示例
pg_encoding_to_char()
的基本用法示例
postgres=# SELECT pg_encoding_to_char(1); pg_encoding_to_char --------------------- EUC_JP (1 row)
一个更实用的示例,将 pg_database
中的 encoding
列转换为人类可读的值
postgres=# SELECT datname, pg_encoding_to_char(encoding) AS encoding FROM pg_database ORDER BY 1; datname | encoding -----------+---------- foo | EUC_JP postgres | UTF8 template0 | UTF8 template1 | UTF8 (4 rows)
如果提供了无效的编码编号,则返回空字符串
postgres=# SELECT pg_encoding_to_char(-1), pg_encoding_to_char(-1) IS NULL; pg_encoding_to_char | ?column? ---------------------+---------- | f (1 row)
参考文献
- PostgreSQL 文档: 系统目录信息函数