
# 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模板数据库的字符集，并修改当前创建数据库指定的字符集。
示例：
```
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"确认当前待创建的数据库是否已经存在，如果存在，请重新命名一个不存在的数据库。
