GAUSS-00501 -- GAUSS-00510
GAUSS-00501: "template database '%s' does not exist"
SQLSTATE: 3D000
错误原因:template1模板数据库不存在。
解决办法:数据库系统存在异常导致模板数据库template1丢失,请重启数据库或者通过手动创建模板数据库template1。
GAUSS-00502: "permission denied to copy database '%s'"
SQLSTATE: 42501
错误原因:创建数据库语法中,如果原数据库不是模板数据库,当前用户角色没有权限创建数据库。
解决办法:创建数据库语法中,如果原数据库不是模板数据库,只有拥有CREATEDB权限的用户或系统管理员才可以创建新数据库,请确认用户权限是否正确。
GAUSS-00503: "invalid server encoding %d"
SQLSTATE: 42809
错误原因:在创建数据库语法中,使用ENCODING encoding指定的编码格式无效。
解决办法:"在创建数据库语法中,使用ENCODING encoding指定的编码格式必须出现在以下编码格式中:GBK、UTF8、Latin1
GAUSS-00504: "invalid locale name: '%s'"
SQLSTATE: 42809
错误原因:在创建数据库时,指定的数据库字符集无效。
解决办法:在创建数据库语法中,指定新数据库使用的字符集必须与模板数据库的字符集匹配。请使用命令""show lc_collate;""检查模板数据库的字符集。
GAUSS-00505: "new encoding (%s) is incompatible with the encoding of the template database (%s)"
SQLSTATE: 22023
错误原因:在创建数据库语法中,指定新数据库使用的字符编码与template0模板数据库的字符编码不匹配。
解决办法:在创建数据库语法中,指定新数据库使用的字符编码与template0模板数据库的字符编码必须一致。请使用命令"show server_encoding;"检查template0模板数据库的字符编码,并修改当前创建数据库指定的字符编码。
GAUSS-00506: "new collation (%s) is incompatible with the collation of the template database (%s)"
SQLSTATE: 22023
错误原因:在创建数据库语法中,指定新数据库使用的字符集与template0模板数据库的字符集不匹配。
解决办法:在创建数据库语法中,指定新数据库使用的字符集与template0模板数据库的字符集必须一致,请使用命令"show lc_collate;"检查template0模板数据库的字符集,并修改当前创建数据库指定的字符集。
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+-------+----------+-------------+-------------+-------------------
postgres | jack | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | jack | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/jack +
| | | | | jack=CTc/jack
template1 | jack | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/jack +
| | | | | jack=CTc/jack
(3 rows)
postgres=# create database testdb LC_COLLATE='zh_CN.utf8';
ERROR: new collation (zh_CN.utf8) is incompatible with the collation of the template database (en_US.UTF-8)
HINT: Use the same collation as in the template database, or use template0 as template.
|
GAUSS-00507: "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)"
SQLSTATE: 22023
错误原因:在创建数据库语法中,指定新数据库使用的字符分类与template0模板数据库的字符分类不匹配。
解决办法:在创建数据库语法中,指定新数据库使用的字符分类与template0模板数据库的字符分类必须一致,请使用命令"show lc_ctype;"检查template0模板数据库的字符分类,并修改当前创建数据库指定的字符分类。
GAUSS-00508: "pg_global cannot be used as default tablespace"
SQLSTATE: 22023
错误原因:在创建数据库语法中,指定新数据库使用缺省的表空间tablespace为pg_global错误。
解决办法:在创建数据库语法中,指定新数据库使用缺省的表空间tablespace不能为pg_global,目前只支持缺省的表空间。
GAUSS-00509: "cannot assign new default tablespace '%s'"
SQLSTATE: 0A000
错误原因:在创建数据库语法中,指定新数据库使用缺省的表空间tablespace为pg_global错误。
解决办法:在创建数据库语法中,指定新数据库使用除缺省的表空间和全局表空间以外的其他表空间tablespace时,请确认该表空间所在目录是否为有效的目录,如果为无效目录,请创建一个有效的目录。
GAUSS-00510: "database '%s' already exists"
SQLSTATE: 42P04
错误原因:当前创建的数据库已存在。
解决办法:请使用命令"\l"确认当前待创建的数据库是否已经存在,如果存在,请重新命名一个不存在的数据库。