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命令进行查看。