更新时间:2024-01-16 GMT+08:00

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"确认当前待创建的数据库是否已经存在,如果存在,请重新命名一个不存在的数据库。