更新时间:2023-12-22 GMT+08:00

GAUSS-00531 -- GAUSS-00540

GAUSS-00531: "tablespace location must be an absolute path"

SQLSTATE: 42P17

错误原因:使用CREATE TABLESPACE tablespace_name ...LOCATION语法指定表空间目录时,位置信息指示的路径错误。

解决办法:使用CREATE TABLESPACE tablespace_name ...LOCATION语法指定表空间目录时,位置信息字符串指定的目录必须是绝对路径。

GAUSS-00532: "tablespace location '%s' is too long"

SQLSTATE: 42P17

错误原因:使用CREATE TABLESPACE tablespace_name ...LOCATION语法指定表空间目录长度超过了最大长度1024。

解决办法:使用CREATE TABLESPACE tablespace_name ...LOCATION语法指定表空间目录时,位置信息字符串指定的目录长度必须小于系统规定的最大长度1024。

GAUSS-00533: "unacceptable tablespace name '%s'"

SQLSTATE: 42939

错误原因:使用CREATE TABLESPACE tablespace_name创建表空间时,使用了非法的表空间名称。

解决办法:使用CREATE TABLESPACE tablespace_name创建表空间时,表空间名字不能和数据集群中的其他表空间重名,且名字不能以"pg"开头,这样的名字留给系统表空间使用。

GAUSS-00534: "tablespace '%s' already exists"

SQLSTATE: 42710

错误原因:当前创建的表空间名称已经存在导致创建表空间失败。

解决办法:请使用命令"\db"确认当前待创建的表空间是否已经存在,如果存在,请重新命名一个不存在的表空间名称。

GAUSS-00535: "tablespaces are not supported on this platform"

SQLSTATE: 0A000

错误原因:不支持表空间。

解决办法:建议不要使用表空间。

GAUSS-00536: "Tablespace '%s' does not exist."

SQLSTATE: 42704

错误原因:通过DROP TABLESPACE删除的表空间不存在。

解决办法:请通过"\db"查询待删除的表空间名称是否存在,系统只支持删除存在的表空间。

GAUSS-00537: "tablespace '%s' is used by partitioned table '%s'"

SQLSTATE: 0A000

错误原因:试图删除用于分区表的表空间为非法操作。

解决办法:请确认待删除的表空间是否被分区表使用,如果被分区表使用则系统不允许删除。

GAUSS-00538: "tablespace '%s' is not empty"

SQLSTATE: 55000

错误原因:删除表空间时候表空间不为空。

解决办法:请确认删除表空间时,表空间为空才能正常删除。

GAUSS-00539: "directory '%s' does not exist"

SQLSTATE: 58P01

错误原因:在创建表空间时表空间目录"$PGDATA/pg_tblspc/"不存在。

解决办法:在创建表空间时需要确认表空间目录"$PGDATA/pg_tblspc/"是否存在,如果不存在,需要重启集群或单个节点。

GAUSS-00540: "could not set permissions on directory '%s': %m"

SQLSTATE: XX000

错误原因:在创建表空间时,设置表空间目录"$PGDATA/pg_tblspc/"可读可写可执行权限失败。

解决办法:创建数据库的表空间时设置表空间目录"$PGDATA/pg_tblspc/"目录权限存在异常,可以通过尝试如下方法排除问题:1.确认是否为管理员用户或当前数据库创建权限;2.确认文件系统为只读,可以修改文件系统权限为可写和可执行;3.如果该目录已经存在,则不需要创建表空间。