GAUSS-00521 – GAUSS-00530
GAUSS-00521: “cannot change the tablespace of the currently open database”
SQLSTATE: 55006
错误原因:通过ALTER DATABASE SET TABLESPACE语法修改数据库表空间时,该数据库正在被其他用户打开,不能执行当前操作。
解决办法:请确认当前待执行的修改数据库表空间操作中的数据库是否正在被其他用户打开,如果已被其他用户打开,请将数据库退出后再次尝试执行该操作。
GAUSS-00522: “some relations of database ‘%s’ are already in tablespace ‘%s’”
SQLSTATE: 55000
错误原因:通过ALTER DATABASE SET TABLESPACE语法修改数据库表空间时,该数据库的表空间目录下已经存在表、索引、视图等关系对象,不能执行当前操作。
解决办法:请确认当前待执行的修改数据库表空间操作中的数据库中是否已经存在表、索引、试图等关系对象,需要先删除已存在的对象后再次尝试执行该操作。
GAUSS-00523: “could not remove directory ‘%s’: %m”
SQLSTATE: XX000
错误原因:系统内部错误。
解决办法:请联系技术支持工程师提供技术支持。
GAUSS-00524: “permission denied to change owner of database”
SQLSTATE: 42501
错误原因:使用ALTER DATABASE name OWNER TO newowner语法修改数据库所有者时,当前用户没有权限执行该操作。
解决办法:使用ALTER DATABASE name OWNER TO newowner语法修改数据库所有者时,请确认当前用户是否为数据库所有者权限的用户或管理员用户,其他用户没有权限执行该操作。
GAUSS-00526: “could not create directory ‘%s’: %m”
SQLSTATE: XX000
错误原因:创建数据库的表空间时需要创建表空间对应的目录可能存在以下异常:1.不是管理员用户,没有权限访问该目录;2.文件系统为只读;3.该目录已经存在;4.磁盘已满,没有足够的空间创建目录;5.硬件存在问题导致I/O错误;6.openGauss数据库系统内部错误。
解决办法:创建数据库的表空间时需要创建表空间对应的目录存在异常,可以通过尝试如下方法排除问题:1.确认是否为管理员用户或当前数据库创建权限;2.确认文件系统为只读,可以修改文件系统权限为可写和可执行;3.如果该目录已经存在,则不需要创建表空间。
GAUSS-00527: “could not stat directory ‘%s’: %m”
SQLSTATE: XX000
错误原因:创建数据库的表空间时需要创建表空间对应的目录是一个无效的非法目录。
解决办法:确认创建数据库的表空间时需要创建表空间对应的目录名是否是一个有效的目录。
GAUSS-00528: “’%s’ exists but is not a directory”
SQLSTATE: 42809
错误原因:创建数据库的表空间时该表空间对应的目录无效。
解决办法:确认创建数据库的表空间时需要创建表空间对应的目录名是否是一个有效的目录。
GAUSS-00529: “Permission denied to create tablespace ‘%s’.”
SQLSTATE: 42501
错误原因:当前用户没有权限在数据库中创建一个新的表空间。
解决办法:只有系统管理员才能在数据库中创建一个新的表空间,请使用系统管理员权限执行创建表空间操作。
GAUSS-00530: “tablespace location cannot contain single quotes”
SQLSTATE: 42602
错误原因:使用CREATE TABLESPACE tablespace_name …LOCATION语法指定表空间目录时,位置信息不能使用单引号标识。
解决办法:使用CREATE TABLESPACE tablespace_name …LOCATION语法指定表空间目录时,位置信息字符串必须用双引号标识。