云服务器内容精选

  • GAUSS-00551: "could not determine which collation to use for view column '%s'" SQLSTATE: 42P22 错误原因:对于视图的列无法决策使用哪种排序规则。 解决办法:使用COLLATE子句指定排序规则。 示例: 1 2 3 CREATE VIEW v1 as select t1.a || t2.a from t1,t2; ERROR: could not determine which collation to use for view column "?column?" HINT: Use the COLLATE clause to set the collation explicitly.
  • GAUSS-00555: "cannot change name of view column '%s' to '%s'" SQLSTATE: 42P16 错误原因:使用CREATE OR REPLACE VIEW创建视图时,如果该同名视图已存在,那么新的视图定义必须返回和原视图相同的列(即具有相同的列名顺序和数据类型),否则会出现报错。 解决办法:视图定义后不能修改其中的列名。 CREATE OR REPLACE VIEW myview as select b,a from tbl1; ERROR: cannot change name of view column "a" to "b" 此时可以删除原视图后,重新创建新视图。 DROP VIEW myview; DROP VIEW CREATE OR REPLACE VIEW myview as select b,a from tbl1; CREATE VIEW
  • GAUSS-00556: "cannot change data type of view column '%s' from %s to %s" SQLSTATE: 42P16 错误原因:使用CREATE OR REPLACE VIEW创建视图时,如果该同名视图已存在,那么新的视图定义必须返回和原视图相同的列(即具有相同的列名顺序和数据类型),但是允许增加额外的列,否则会出现报错。 解决办法:保证新视图和现有视图中列的数据类型一致。 例如:CREATE OR REPLACE VIEW方式修改列类型时报错: CREATE OR REPLACE VIEW view1 as select * from tbl2; ERROR: cannot change data type of view column "b" from integer to text 可通过CREATE OR REPLACE VIEW的方式增加列: CREATE OR REPLACE VIEW myview as select tbl1.*,tbl2.b as c from tbl1 ,tbl2 where tbl1.a = tbl2.a; CREATE VIEW
  • GAUSS-00554: "cannot drop columns from view" 错误原因:使用CREATE OR REPLACE VIEW创建视图时,如果该同名视图已存在,那么新的视图定义必须返回和原视图相同的列(即具有相同的列名顺序和数据类型),否则会出现报错。 解决办法:视图定义后不能删除其中的列。新视图定义必须返回和原视图相同的列,即不能通过CREATE OR REPLACE VIEW的方式减少view的列。 例如:创建表tbl1和tbl2后,创建视图myview,以CREATE OR REPLACE VIEW的方式减少view的列出现报错。 CREATE TABLE tbl1(a int, b text); CREATE TABLE tbl2(a int, b text); CREATE VIEW myview as select * from tbl1; CREATE VIEW CREATE OR REPLACE VIEW myview as select a from tbl1; ERROR: cannot drop columns from view 此时可以删除原视图后,重新创建新视图。 DROP VIEW myview; DROP VIEW CREATE OR REPLACE VIEW myview as select a from tbl1; CREATE VIEW
  • GAUSS-00561 -- GAUSS-00570 GAUSS-00561: "views cannot be unlogged because they do not have storage" SQLSTATE: 42601 错误原因:定义视图时指定为UN LOG GED。 解决办法:视图没有真正的存储,定义视图时不能指定为UNLOGGED。 GAUSS-00562: "unrecognized value for EXPLAIN option '%s': '%s'" SQLSTATE: 22023 错误原因:EXPLAIN FORMAT的参数无法识别。 解决办法:FORMAT参数只能是text、xml、json、yaml之一。 GAUSS-00563: "unrecognized EXPLAIN option '%s'" SQLSTATE: 42601 错误原因:EXPLAIN的参数无法识别。 解决办法:EXPLAIN支持的参数包括:analyze、verbose、costs、buffers、nodes、num_nodes、timing、CPU、detail、performance和format。 GAUSS-00564: "EXPLAIN option BUFFERS requires ANALYZE" SQLSTATE: 22023 错误原因:EXPLAIN BUFFERS没有同时指定ANALYZE。 解决办法:EXPLAIN BUFFERS需要同时指定ANALYZE。 GAUSS-00565: "EXPLAIN option CPU requires ANALYZE" SQLSTATE: 22023 错误原因:EXPLAIN CPU没有同时指定ANALYZE。 解决办法:EXPLAIN CPU需要同时指定ANALYZE。 GAUSS-00566: "EXPLAIN option DETAIL requires ANALYZE" SQLSTATE: 22023 错误原因:EXPLAIN DETAIL没有同时指定ANALYZE。 解决办法:EXPLAIN DETAIL需要同时指定ANALYZE。 GAUSS-00567: "EXPLAIN option TIMING requires ANALYZE" SQLSTATE: 22023 错误原因:EXPLAIN TIMING没有同时指定ANALYZE。 解决办法:EXPLAIN TIMING需要同时指定ANALYZE。 GAUSS-00568: "EXPLAIN %s requires ANALYZE" SQLSTATE: 22023 错误原因:EXPLAIN CREATE TABLE AS SELECT或EXPLAIN SELECT INTO没有指定ANALYZE。 解决办法:EXPLAIN CREATE TABLE AS SELECT或EXPLAIN SELECT INTO需要指定ANALYZE。 GAUSS-00569: "no tlist entry for key %d" SQLSTATE: XX000 错误原因:生成的计划问题。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-00570: "cache lookup failed for index %u" SQLSTATE: XX000 错误原因:系统表缓存查找索引信息失败。 解决办法:检查索引名称是否正确。 父主题: GAUSS-00501 -- GAUSS-00600
  • GAUSS-00511 -- GAUSS-00520 GAUSS-00511: "source database '%s' is being accessed by other users" SQLSTATE: 55006 错误原因:当前访问的数据库正在被其他用户访问会话。 解决办法:请检查当前访问的数据库是否正在被其他用户访问,这样会导致数据不一致的情况,需要关闭和退出其他用户访问,并重新尝试登录。 GAUSS-00512: "encoding '%s' does not match locale '%s'" SQLSTATE: 22023 错误原因:当前创建的数据库指定的字符编码与指定的字符分类得到的字符编码不匹配。 解决办法:请求确认当前创建的数据库指定的字符编码是否指定的字符分类得到的字符编码一致,如果不一致,请在重新创建数据时指定为一致。 GAUSS-00513: "database '%s' does not exist" SQLSTATE: 3D000 错误原因:DROP DATABASE语法删除一个数据库时,该数据库不存在或者是一个无效的数据库。 解决办法:DROP DATABASE语法删除一个数据库时,请确认当前删除的数据库是否为一个已经创建的有效的数据库。 GAUSS-00514: "cannot drop a template database" SQLSTATE: 42809 错误原因:试图删除模板数据库template0或template1,为非法操作。 解决办法:系统默认模板数据库template0或template1不能被删除,请重新指定需要删除的数据库。 GAUSS-00515: "cannot drop the currently open database" SQLSTATE: 55006 错误原因:当前待删除的数据库正在被其他用户打开,不能执行删除操作。 解决办法:请确认当前待删除的数据库是否正在被其他用户打开,并通知用户退出后再次尝试执行删除操作。 GAUSS-00516: "cannot drop the default database" SQLSTATE: 42809 错误原因:试图删除系统缺省的默认数据库postgres,为无效操作。 解决办法:系统缺省的默认数据库postgres不能被删除,请确认操作是否正确。 GAUSS-00517: "database '%s' is being accessed by other users" SQLSTATE: 55006 错误原因:当前待删除的数据库正在被其他用户访问。 解决办法:请检查当前待删除的数据库是否正在被其他用户访问,这样会导致数据不一致的情况,需要关闭和退出其他用户访问,并重新尝试删除该数据库。 GAUSS-00518: "Deletion of sequences on database %s not completed" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-00519: "permission denied to rename database" SQLSTATE: 42501 错误原因:当前用户没有权限修改数据库名称。 解决办法:请确认执行当前修改数据库名称操作的用户是否为数据库所有者权限的用户或管理员用户。 GAUSS-00520: "current database cannot be renamed" SQLSTATE: 0A000 错误原因:非法操作:不能修改正在使用的数据库名称。 解决办法:请确认是否需要修改当前正在使用的数据库名称,该操作为非法操作,请勿修改正在使用的数据库名称。 父主题: GAUSS-00501 -- GAUSS-00600