1、支持的字符集
2、设置字符集
initdb定义数据库默认字符集/编码,例如:
initdb -E GKR
可以用–encoding代替-E。如果没有给出-E或者–encoding选项,initdb会尝试基于指定的或者默认的区域判断要使用的合适编码。
使用非默认字符集/编码时,应考虑其与所选择的区域兼容:
createdb -E EUC_KR -T template0 --lc-collate=ko_KR.euckr --lc-ctype=ko_KR.euckr korean
或使用SQL命令实现:
CREATE DATABASE korean WITH ENCODING 'GB18030' LC_COLLATE='ko_KR.euckr' LC_CTYPE='ko_KR.euckr' TEMPLATE=template0;
数据库的字符集/编码存储在系统目录pg_database中。可以使用gsql -l选项或者\l命令进行查看。
gsql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-------------+-------+----------+-------------+-------------+-------------------
gbase | gbase | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
korean | gbase | EUC_KR | ko_KR.euckr | ko_KR.euckr |
template0 | gbase | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/gbase +
| | | | | gbase=CTc/gbase
template1 | gbase | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/gbase +
| | | | | gbase=CTc/gbase
(4 rows)