云服务器内容精选

  • GAUSS-00881 -- GAUSS-00890 GAUSS-00881: "adding partition name conflict with existing partitions" SQLSTATE: XX000 错误原因:为关系表增加的分区与已有分区名字冲突,不能进行此操作。 解决办法:请选择新的分区名,避免冲突。 GAUSS-00882: "upper boundary of adding partition MUST overtop last existing partition" SQLSTATE: XX000 错误原因:关系表新增分区的上边界必须大于最后一个现有分区的上边界。 解决办法:请更改新增分区的上边界。 GAUSS-00883: "could not acquire AccessExclusiveLock on dest table partition '%s', %s failed" SQLSTATE: XX000 错误原因:没有拿到分区的AccessExclusiveLock。 解决办法:可能由于并发冲突引起,稍后再试。 GAUSS-00884: "Cannot drop the only partition of a partitioned table" SQLSTATE: XX000 错误原因:删除表分区操作时,无法删除关系表的最后一个分区。 解决办法:不能删除关系表的最后一个分区,建议取消本操作。 GAUSS-00886: "no local index defined on partition %u" SQLSTATE: XX000 错误原因:该分区中不能查找到本地索引。 解决办法:建议重新检查本操作的分区和索引名称,不存在次索引可以取消本操作。 GAUSS-00887: "can not set unusable index for relation %s , as it is not a index" SQLSTATE: XX000 错误原因:在检测索引有效性时,发现本索引无效,故不能为关系表设置此索引。 解决办法:建议检查该索引的有效性,若无效许修改此索引。 GAUSS-00888: "could not find tuple for relation %u" SQLSTATE: XX000 错误原因:在执行ModifyRowMovement操作时,检测到无法获取关系表的元组,故不能进行此操作。 解决办法:建议检查关系表的元组属性,或取消此操作。 GAUSS-00889: "cannot truncate a partition owned by partitioned table which is referenced in a foreign key constraint" SQLSTATE: XX000 错误原因:被外键(foreign key)引用限制的分区表不能截断其分区。 解决办法:建议取消该分区表的外键引用限制,或者取消此操作。 GAUSS-00890: "can not merge index partition %s because it is unusable local index" SQLSTATE: XX000 错误原因:针对不可用的本地索引,不可合并索引分区。 解决办法:建议检查本地索引的可用性并修改,或者取消此操作。 父主题: GAUSS-00801 -- GAUSS-00900
  • GAUSS-04531 -- GAUSS-04540 GAUSS-04531: "Unexpected response from %s while sending query ID with sync" SQLSTATE: XX000 错误原因:发送query ID失败。 解决办法:系统内部错误。请联系技术支持工程师提供技术支持。 GAUSS-04532: "Could not begin transaction on %s" SQLSTATE: XX000 错误原因:系统内部错误。在analyze处理过程中,向CN/DN发送查询pg_class表和pg_statistic表信息构造的query命令失败。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04533: "Failed to read response from CN %u when ending query" SQLSTATE: XX000 错误原因:系统内部错误。在analyze处理过程中,其他CN从源CN获取统计pg_class和pg_statistic系统表信息时,从消息缓冲区中收到EOF消息。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04534: "Unexpected response from CN %u" SQLSTATE: XX000 错误原因:系统内部错误。在analyze处理过程中,其他CN从源CN获取统计pg_class和pg_statistic系统表信息时,从消息缓冲区中收到不期望的响应消息。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04535: "Failed to read response from DN %u when ending query" SQLSTATE: XX000 错误原因:全局统计信息做analyze过程中,CN从DN1获取pg_class或pg_statistic统计信息时,未收到EOF消息。 解决办法:系统内部错误。请联系技术支持工程师提供技术支持。 GAUSS-04536: "Unexpected response from DN %u" SQLSTATE: XX000 错误原因:全局统计信息做analyze过程中,CN从DN1获取pg_class或pg_statistic统计信息时,收到不期望的响应消息。 解决办法:系统内部错误。请联系技术支持工程师提供技术支持。 GAUSS-04537: "Temp table related statement would fail during connection recovery." SQLSTATE: 08000 错误原因:临时表由于DN连接异常而失效,正在进行清理,所有和临时表相关的操作都将失败。 解决办法:重新执行SQL语句。 GAUSS-04538: "Cache lookup failed for relation %u." SQLSTATE: XX000 错误原因:输入的表不存在。 解决办法:执行SQL语句输入正确的表名。 GAUSS-04539: "Failed to create directory on HDFS." SQLSTATE: 42P17 错误原因:创建目录失败。 解决办法:请查看相关日志。 GAUSS-04540: "Catalog table pg_partition may get trashed on table %s as it is not consistent with pg_class" SQLSTATE: 22000 错误原因:系统目录表pg_partition和pg_class对于数值分区表的元数据不一致。 解决办法:联系admin查看系统表是否存在错误,或者开发支持上报bug。 父主题: GAUSS-04501 -- GAUSS-04600
  • GAUSS-04631 -- GAUSS-04640 GAUSS-04631: "cannot alter text search configuration '%s' because other objects depend on it" SQLSTATE: 2BP01 错误原因:由于全文检索配置项与其他表或索引之间存在依赖关系,本配置信息不能更改。 解决办法:取消依赖关系后在执行本操作。 GAUSS-04632: "DFS table does not support index." SQLSTATE: 0A000 错误原因:DFS类型的表不支持索引。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04633: "It is not supported to create index '%s' on DFS tablespace." SQLSTATE: 0A000 错误原因:不能在DFS类型的表空间中创建索引。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04634: "It is not allowed to assign version option for non-dfs table." SQLSTATE: XX000 错误原因:创建行存表或者CU格式的列存表时指定了version参数直接报错。 解决办法:创建行存表或者CU格式的列存表时不要version参数。 GAUSS-04636: "Invalid string for 'VERSION' option" SQLSTATE: XX000 错误原因:无效的version参数。 解决办法:参数只支持0.12。 GAUSS-04637: "Num of partition keys in value-partitioned table should not be zero" SQLSTATE: XX000 错误原因:创建valuesHDFS分区表时,没有指定分区列。 解决办法:创建valuesHDFS分区表时,指定不少于1,但是不超过4的列数。 GAUSS-04638: "Num of partition keys in value-partitioned table exceeds max allowed num:%d" SQLSTATE: XX000 错误原因:创建valuesHDFS分区表时,指定分区列超过四个。 解决办法:创建valuesHDFS分区表时,指定不少于1,但是不超过4的列数。 GAUSS-04639: "Unsupport partition strategy '%s' feature for dfs table." SQLSTATE: XX000 错误原因:仅支持value HDFS分区表,其余分区不支持,直接报错。 解决办法:创建分区HDFS表时,指定为value分区。 GAUSS-04640: "Only support hash distribution for dfs table." SQLSTATE: XX000 错误原因:对于DFS表,只支持HASH分布。 解决办法:创建HDFS表只能指定成hash分布。 父主题: GAUSS-04601 -- GAUSS-04700
  • GAUSS-04381 -- GAUSS-04390 GAUSS-04381: "detected write past chunk end in %s %p" SQLSTATE: XX000 错误原因:在free内存时,验证填充的字符,若不正确,报错。 解决办法:PANIC级别,用于Debug模式下的内存越界检查,终止进程,产生core。 GAUSS-04382: "Error happen when execute memcpy_s:%d" SQLSTATE: XX000 错误原因:安全函数调用,内存复制出错。 解决办法:ERROR级别,回滚正在执行的作业。 GAUSS-04383: "Bucketmap is NULL" SQLSTATE: XX000 错误原因:Bucketmap为空。 解决办法:不要执行该操作。 GAUSS-04384: "invalid thread id: 0" SQLSTATE: 22023 错误原因:函数参数检查,0被认为是非法的线程ID。 解决办法:由用户确保线程ID的合法性。 GAUSS-04385: "invalid name of memory context: NULL or '' " SQLSTATE: XX000 错误原因:函数参数检查,NULL或者空字符串被认为是非法的内存上下文名称。 解决办法:由用户确保内存上下文名称的合法性。 GAUSS-04386: "Failed to receive GTM commit transaction response for DN or other CN." SQLSTATE: XX000 错误原因:可能由于GTM断连,无法得到通知GTM提交事务的反馈信息。 解决办法:检查与GTM的连接正常与否。 GAUSS-04387: "column '%s' needs too many memory" SQLSTATE: 0A000 错误原因:列存导入记录过大。 解决办法:当前列存不支持过大记录,使用行存进行导入。 GAUSS-04389: "Failed to initialize multi-threads for LLVM." SQLSTATE: XX000 错误原因:启动数据库时LLVM初始化多线程环境失败。 解决办法:重新启动数据库。 GAUSS-04390: "Failed to initialize NativeTarget for LLVM." SQLSTATE: XX000 错误原因:启动数据库时初始化LLVM本地对象失败。 解决办法:重新启动数据库。 父主题: GAUSS-04301 -- GAUSS-04400
  • GAUSS-00261 -- GAUSS-00270 GAUSS-00261: "subfield '%s' is of type %s but expression is of type %s" SQLSTATE: 42804 错误原因:表达式两端的数据类型不一致。 解决办法:通过类型转换,使表达式两端的类型一致。 GAUSS-00262: "column '%s' specified more than once" SQLSTATE: 42701 错误原因:向表对象中插入数据时,同样的列指定了多次。 解决办法:插入数据时,相同的列只能指定一次。 GAUSS-00263: "SELECT * with no tables specified is not valid" SQLSTATE: 42601 错误原因:不支持的语法。 解决办法:修改SQL Statement。 GAUSS-00265: "Un-support feature" SQLSTATE: XX000 错误原因:不支持的特性。 解决办法:不建议使用。 GAUSS-00266: "internal relation doesn't allow INSERT" SQLSTATE: XX000 错误原因:标记为内部类型的对象插入了数据。 解决办法:不对内存对象进行插入操作。 GAUSS-00267: "unexpected non-SELECT command in INSERT ... SELECT" SQLSTATE: XX000 错误原因:不支持的语法。 解决办法:修改SQL Statement。 GAUSS-00268: "VALUES lists must all be the same length" SQLSTATE: 42601 错误原因:INSERT ... VALUES语句中VALUES列表的数目与字段数目不匹配。 解决办法:1.请通过\d tablename查看表的字段信息。2.检查INSERT ... VALUES语句中VALUES的数目与表的字段数目是否匹配。3.修改INSERT ... VALUES语句的语法。 GAUSS-00269: "VALUES must not contain table references" SQLSTATE: 0A000 错误原因:INSERT... VALUES语句的SELECT子句中有关系表JOIN列表。 解决办法:检查INSERT ... VALUES语句中的SELECT子句是否有非法的JOIN列表。重新根据INSERT语法结构修改INSERT语句。 GAUSS-00270: "VALUES must not contain OLD or NEW references" SQLSTATE: 0A000 错误原因:不支持的语法。 解决办法:修改SQL Statement。 父主题: GAUSS-00201 -- GAUSS-00300
  • 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"确认当前待创建的数据库是否已经存在,如果存在,请重新命名一个不存在的数据库。 父主题: GAUSS-00501 -- GAUSS-00600
  • GAUSS-52600 -- GAUSS-52699 GAUSS-52600 : "Can not obtain any cluster ring." SQLSTATE: 无 错误原因:不能获取集群中的任何环。 解决办法:检查XML中节点信息是否配置正确。 GAUSS-52601 : "Redistribution failed due to user request." SQLSTATE: 无 错误原因:由于用户请求,重分布失败。 解决办法:检查在扩容/缩容过程中,用户有没有执行非法操作。 GAUSS-52602 : "There is no CN in old nodes. " SQLSTATE: 无 错误原因:老节点中没有CN。 解决办法:1.检查XML中是否已经配置了CN;2.检查集群状态是否正常。 GAUSS-52603 : "There is no CN on the contraction of the remaining nodes." SQLSTATE: 无 错误原因:在缩容后保留所有的节点中没有CN。 解决办法:检查在缩容以后的集群中保留的所有节点是否有正常的CN。 GAUSS-52605 : "Can not contract local node(%s). " SQLSTATE: 无 错误原因:不能缩容本地节点。 解决办法:检查XML中配置的缩容节点是否包含执行缩容命令的所在节点。 GAUSS-52606 : " Contract too many nodes. It should left three nodes to format a cluster at least." SQLSTATE: 无 错误原因:缩容太多节点。缩容后的集群至少保留3个节点。 解决办法:检查执行缩容命令的XML文件配置中缩容以后的集群节点数量是否小于3个。 GAUSS-52607 : " [%s] does not at the end of instance list." SQLSTATE: 无 错误原因:节点不在实例列表的末尾。 解决办法:检查XML中配置的缩容节点是否为集群节点中按顺序排序的末尾几个节点。 GAUSS-52608 : " [%s] contains %s instance." SQLSTATE: 无 错误原因:节点包含CM Server/GTM实例。 解决办法:检查缩容的节点中是否包含CM Server/GTM实例,如果是,则需要重新配置对应节点,使其不能包含CM Server/GTM实例,然后重新执行命令。 GAUSS-52609 : " All contracted nodes do not contain DN instance." SQLSTATE: 无 错误原因:所有的缩容节点中不能包含DN实例。 解决办法:检查XML中配置的缩容节点是否包含DN实例。 GAUSS-52610 : "The current node group are node group after contraction. " SQLSTATE: 无 错误原因:当前节点组是缩容后的节点组。 解决办法:检查缩容的节点组是否与缩容后的节点组相同。 GAUSS-52611 : " There must be only one record in the current node group." SQLSTATE: 无 错误原因:当前节点组只能有一条记录。 解决办法:检查当前节点组是否有几个组信息记录。 GAUSS-52612 : " All dilatation nodes do not contain the DN instance." SQLSTATE: 无 错误原因:所有的扩容节点不能包含DN实例。 解决办法:检查XML中配置的扩容节点中是否配置了DN实例。 GAUSS-52613 : " Static configuration is not matched on some nodes. Please handle it first." SQLSTATE: 无 错误原因:节点上的静态配置文件与新的XML文件不匹配。 解决办法:重新执行前置脚本。 GAUSS-52614:"Timeout. The current cluster status is %s." SQLSTATE: 无 错误原因:超时 解决办法:重试 GAUSS-52615 : "Cluster lock unlocked due to timeout. " SQLSTATE: 无 错误原因:由于超时集群解锁失败。 解决办法:1.检查集群状态是否正常;2.数据库可否进行写操作;3.查看相对应的日志,查看详细的错误信息。 GAUSS-52616 : "Can not find a similar instance for [%s %s]. " SQLSTATE: 无 错误原因:不能找到一个近似的实例[主机名 实例目录]。 解决办法:1.检查集群状态是否正常;2.XML中节点信息是否配置正确。 GAUSS-52617 : "Invalid check type. " SQLSTATE: 无 错误原因:无效的检查类型。 解决办法:缩容模块检查节点组的检查类型错误,应该是precheck和postcheck,其他类型都是错误。 GAUSS-52620 : " Not all nodes found. The following is what we found: %s." SQLSTATE: 无 错误原因:没有找到所有节点。以下是我们找到的节点:。 解决办法:1.检查集群状态是否正常;2.检查XML中配置的缩容节点名是否正确。 GAUSS-52623 : "Failed to check node group numbers: Node group numbers is [%d]. " SQLSTATE: 无 错误原因:检查节点组个数失败。 解决办法:缩容模块检查节点组时,获取到的节点组编号错误,应该是1或2。 GAUSS-52624 : "Failed to check %s node group members: Invalid group name or nodes. " SQLSTATE: 无 错误原因:检查%s节点组成员失败。无效的组名或者节点。 解决办法:缩容模块检查节点组时获取到的节点组名或节点组成员为空,检查系统表中pgxc_group数据是否正常。 GAUSS-52626 : "The CN connection on the old nodes are abnormal. " SQLSTATE: 无 错误原因:老节点中的CN连接不正常。 解决办法:检查扩容模块老节点的CN连接数,确保每个CN当前的连接数不能超过最大连接数的90%。 GAUSS-52627 : " The current cluster is locked." SQLSTATE: 无 错误原因:集群处于锁状态。 解决办法:扩容模块检查老节点集群已经被锁定,需要将当前集群解锁后继续扩容。 GAUSS-52628 : "Static configuration has already been updated on all nodes, expansion has been completed possibly. " SQLSTATE: 无 错误原因:静态配置文件已经在各个节点更新,扩容可能已经完成。 解决办法:查看扩容以后的集群状态是否正常,如果集群中已经包含了扩容节点并且集群状态正常,那么就不用再执行扩容命令了。 GAUSS-52629 : "Cluster ring(%s) can not obtain less than three nodes. " SQLSTATE: 无 错误原因:集群环不能小于3个节点。 解决办法:检查缩容场景下使用的XML文件配置,执行的缩容节点数量是否小于3。 GAUSS-52630 : "Failed to set the read-only mode parameter for all CN and DN instances. " SQLSTATE: 无 错误原因:设置所有CN和DN实例只读模式参数失败。 解决办法:检查gs_guc工具是否存在,集群状态是否正常,重试设置只读模式。 GAUSS-52631 : "Invalid value for GUC parameter comm_max_datanode: %s. " SQLSTATE: 无 错误原因:集群中CN实例comm_max_datanode guc参数值无效。 解决办法:设置CN实例comm_max_datanode 参数值大于集群总DN数。 GAUSS-52632 : "Cluster breakdown or abnormal operation during expanding online, lock process for expansion is lost." SQLSTATE: 无 错误原因:在线扩容过程中集群崩溃或异常操作,导致扩容锁进程丢失。 解决办法:重新调用在线扩容操作。 GAUSS-52633 : "There is no primary datanode." SQLSTATE: 无 错误原因:没有获取DN主实例。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-52634 : "There is no normal CN and primary DN on local node." SQLSTATE: 无 错误原因:没有获取正常CN和DN主实例。 解决办法:请联系技术支持工程师提供技术支持。 父主题: GAUSS-52000 -- GAUSS-52999
  • GAUSS-01271 -- GAUSS-01280 GAUSS-01271: "non-partitioned table does not support local partitioned indexes " SQLSTATE: 0A000 错误原因:非分区表不支持创建local模式下的分区索引。 解决办法:1、如果需要创建local模式下的分区索引,需要重新创建基表为分区表。 2、如果不需要创建local模式下的分区索引,需要删除Create unique index...local;语法最后的local参数。 GAUSS-01272: "cannot create concurrent partitioned indexes " SQLSTATE: 0A000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-01273: "partitioned table does not support global index" SQLSTATE: 0A000 错误原因:分区表不支持全局索引。 解决办法:请勿在分区表创建全局索引。 GAUSS-01274: "cannot create index on foreign table '%s'" SQLSTATE: 42809 错误原因:不能在外表上创建索引。 解决办法:请勿在外表上创建索引。 GAUSS-01275: "cannot create indexes on temporary tables of other sessions" SQLSTATE: 0A000 错误原因:不能在其他会话的临时表上创建索引。 解决办法:请勿在其他会话的临时表上创建索引。 GAUSS-01276: "when creating partitioned index, get table partitions failed" SQLSTATE: XX000 错误原因:创建分区索引时,获取分区表失败。 解决办法:请检查分区表的分区定义是否正确,如果不正确,请重建分区表。 GAUSS-01277: "Not enough index partition defined" SQLSTATE: 42P17 错误原因:分区表上已有索引不足。 解决办法:请重建分区表中分区数,必须等于分区索引的数目。 GAUSS-01278: "number of partitions of LOCAL index must equal that of the underlying table" SQLSTATE: 42P17 错误原因:分区表中分区数目小于分区索引的数目。 解决办法:请重建分区表中分区数,必须等于分区索引的数目。 GAUSS-01279: "unique index columns must contain the partition key" SQLSTATE: 42P17 错误原因:唯一索引列必须包含分区键。 解决办法:唯一索引列必须包含分区键。 GAUSS-01280: "unique index columns must contain the partition key and collation must be default collation" SQLSTATE: 42P17 错误原因:唯一索引列必须包含分区键。 解决办法:检查唯一索引列,唯一索引列必须包含分区键,排序方式必须使用默认方式。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 postgres=# create table t6 (a int,b text collate "C") postgres-# distribute by hash (a) postgres-# partition by range(b)( postgres(# partition p1 values less than('a'), postgres(# partition p2 values less than('h'), postgres(# partition p3 values less than(maxvalue)); CREATE TABLE postgres=# alter table t6 add constraint t6_unique_key primary key (a); ERROR: unique index columns must contain the partition key and collation must be default collation postgres=# alter table t6 add constraint t6_unique_key unique (a,b); NOTICE: ALTER TABLE / ADD UNIQUE will create implicit index "t6_unique_key" for table "t6" ALTER TABLE 父主题: GAUSS-01201 -- GAUSS-01300
  • GAUSS-03161 -- GAUSS-03170 GAUSS-03161: "found unexpected null value in index '%s'" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-03162: "could not find RelOptInfo for given relids" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-03163: "case insensitive matching not supported on type bytea" SQLSTATE: 0A000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-03164: "could not determine which collation to use for ILIKE" SQLSTATE: 42P22 错误原因:ilike语句中,存在多个collation造成冲突,解析器无法决定使用哪个。 解决办法:手动指定COLLATE collation_name。 示例: 1 2 3 postgres=# select ifnull(a,b) ilike 'A%' from t8; ERROR: could not determine which collation to use for ILIKE HINT: Use the COLLATE clause to set the collation explicitly. GAUSS-03165: "regular-expression matching not supported on type bytea" SQLSTATE: 0A000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-03166: "unrecognized ptype: %d" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-03167: "missing support function %d for attribute %d of index '%s'" SQLSTATE: XX000 错误原因:索引列不支持特定操作。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-03168: "could not match index to operand" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-03169: "unsupported GIN indexqual type: %d" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-03170: "invalid input value for enum %s: '%s'" SQLSTATE: 22P02 错误原因:enum的输入非法。 解决办法:修改enum的输入。 父主题: GAUSS-03101 -- GAUSS-03200
  • GAUSS-00891 -- GAUSS-00900 GAUSS-00891: "source partitions must be at least two partitions" SQLSTATE: XX000 错误原因:MergePartition操作时,检测到原始分区数目小于2,故不能进行MergePartition操作。 解决办法:建议检查表的原始分区数目,数目小于2个时,不能进行合并操作。 GAUSS-00892: "merge partitions of relation '%s', source partitions must be no more than %d partitions" SQLSTATE: XX000 错误原因:合并的分区数大于支持的最大合并的分区数。 解决办法:减少合并的分区数。 GAUSS-00893: "merge partitions cannot process inusable index relation \''%s\''" SQLSTATE: XX000 错误原因:MergePartition操作时,检测到包含不可用的本地索引,不能进行MergePartition操作。 解决办法:建议检查表的本地索引可用性,修改不可用索引,再进行MergePartition操作。 GAUSS-00894: "cann't merge partition because partition %s has unusable local index" SQLSTATE: XX000 错误原因:MergePartition操作时,检测到包含不可用的本地索引,不能进行MergePartition操作。 解决办法:建议检查表的本地索引可用性,修改不可用索引,再进行MergePartition操作。 GAUSS-00895: "source partitions must be continuous and in ascending order of boundary" SQLSTATE: XX000 错误原因:MergePartition操作时,原始分区应满足连续性且边界升序,否则不能合并。 解决办法:建议检查原始分区是否满足连续性及边界递增条件,满足该条件才能进行合并操作。 GAUSS-00896: "target partition's name '%s' already exists" SQLSTATE: 42710 错误原因:MergePartition操作时,目标分区名已经存在,不能进行本操作。 解决办法:建议修改目标分区名,避免名字冲突。 GAUSS-00897: "could not acquire AccessExclusiveLock on dest index partition '%s', MERGE PARTITIONS failed" SQLSTATE: XX000 错误原因:merge partition操作时,没有拿到分区的AccessExclusiveLock。 解决办法:可能由于并发冲突引起,稍后再试。 GAUSS-00898: "could not acquire AccessExclusiveLock on dest table partition '%s', MERGE PARTITIONS failed" SQLSTATE: XX000 错误原因:不能获取合并分区的排他锁。 解决办法:检查合并分区是否在进行其他操作。 GAUSS-00899: "Specified partition does not exist" SQLSTATE: 42P01 错误原因:ExchangePartition操作时,检测到指定分区不存在,不能进行此操作。 解决办法:建议检查分区名称,确定分区名称后再进行此操作。 GAUSS-00900: "ALTER TABLE EXCHANGE requires an ordinary table" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE操作只能作用于普通表,否则不能执行此操作。 解决办法:ALTER TABLE EXCHANGE操作只能作用于普通表。 父主题: GAUSS-00801 -- GAUSS-00900
  • GAUSS-00051 -- GAUSS-00060 GAUSS-00051: "improper %%TYPE reference (too many dotted names): %s" SQLSTATE: 42601 错误原因:函数中定义的table_name.column_name%TYPE引用列的类型错误,".column_name"前参数太多。 解决办法:请检查函数中定义的变量类型table_name.column_name%TYPE中的表名或列名引用是否正确,并重新修改语法后再创建函数定义。 GAUSS-00052: "column '%s' of relation '%s' does not exist" SQLSTATE: 42703 错误原因:列名或者为空,或者拼写错误,或者不是关系表中定义的列名。 解决办法:请通过\d tablename检查当前指定的列名是否为表中指定的列名,如果不正确,请修改为合法的列名。 GAUSS-00053: "type '%s' does not exist" SQLSTATE: 42704 错误原因:根据给定的类型名在系统表pg_type中无法找到匹配的类型。 解决办法:请检查语句中使用的类型名是否正确(可参考系统表pg_type中已定义的类型)。 GAUSS-00054: "type '%s' is only a shell" SQLSTATE: 42704 错误原因:给定的类型名在系统表pg_type中没有定义对应的操作执行函数。 解决办法:请确认语句中使用的类型名是否正确。如果正确,请通过create type语句自定义所使用类型名对应的操作函数。 GAUSS-00055: "type modifier cannot be specified for shell type '%s'" SQLSTATE: 42601 错误原因:自定义的类型包含了typmod。 解决办法:自定义的类型不能包含typmod。 GAUSS-00056: "type modifier is not allowed for type '%s'" SQLSTATE: 42601 错误原因:自定义的类型包含了typmod。 解决办法:自定义的类型不能包含typmod。 GAUSS-00057: "type modifiers must be simple constants or identifiers" SQLSTATE: 42601 错误原因:给定的类型修饰符错误。 解决办法:类型表示符必须定义为常量或标识符,请检查给定的类型修饰符语法是否正确,然后重新定义一个合法的类型修饰符。 GAUSS-00058: "collations are not supported by type %s" SQLSTATE: 42804 错误原因:collation与类型不匹配,类型问题。 解决办法:用户检查语句中的类型,collate仅支持字符相关类型。 示例: 1 2 3 postgres=# create table t1(a int collate "C"); ERROR: collations are not supported by type integer LINE 1: create table t1(a int collate "C"); GAUSS-00059: "typeTypeId() called with NULL type struct" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-00060: "invalid type name '%s'" SQLSTATE: 42601 错误原因:给定的类型名无效。 解决办法:请检查语句中使用的类型名是否正确(可参考系统表pg_type中已定义的类型)。 父主题: GAUSS-00001 -- GAUSS-00100
  • GAUSS-04741 -- GAUSS-04750 GAUSS-04741: "The count of address '%s' must be not greater than %d." SQLSTATE: 44000 错误原因:address的数量不能超过2个。 解决办法:创建DFS server时指定的address不能超过两个。 GAUSS-04742: "Unsupport ipv6 format" SQLSTATE: 44000 错误原因:DFS server的address不支持ipv6格式。 解决办法:创建DFS server的address改为ipv4格式。 GAUSS-04743: "The incorrect address format" SQLSTATE: 44000 错误原因:address的格式书写错误。 解决办法:查看正确描述address。 GAUSS-04744: "Failed to create DfsInsert handler when updating table." SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04745: "build global dfs space cache hash table failed" SQLSTATE: 42704 错误原因:系统内部错误。创建全局的HDFS连接缓存失败。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04746: "The number of files exceeds the limit %d." SQLSTATE: 22000 错误原因:文件数量达到设定的上限值。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04747: "could not initialize DFS space hash table" SQLSTATE: 42704 错误原因:不能创建用于缓存文件序号的hash table。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-04748: "Partition directory exceeds max length of one partition directory on attribute [%s], max allowed:%d" SQLSTATE: XX000 错误原因:存储分区表的分区目录名字长度超过了最大限制512字节。 解决办法:用户数据需要保证“分区键+分区键值”不超过512字节(含URI转码)。 GAUSS-04749: "could not initialize partition pruning result cache." SQLSTATE: XX000 错误原因:分区表导入过程中用以分区搜索的cache创建失败。 解决办法:检查机器是否有足够的内存来创建分区收索cache。 GAUSS-04750: "Unsupported data type on column:%s when forming partition signature" SQLSTATE: XX000 错误原因:分区表导入过程中发现分区键的数据类型不在支持的类型中。 解决办法:查看系统目录表是否有数据不一致情况,以创建的分区表分区列是否是不支持的分区类型。 父主题: GAUSS-04701 -- GAUSS-04800
  • GAUSS-01781 -- GAUSS-01790 GAUSS-01781: "cannot move objects into system schema" SQLSTATE: 0A000 错误原因:不可将对象移入系统表空间。 解决办法:请确认当前表空间类型,如果为系统表空间,将不支持移入相关数据对象。 GAUSS-01782: "improper relation name (too many dotted names): %s" SQLSTATE: 42601 错误原因:导入的表名称不合法。 解决办法:数据库系统中的表名称最为复杂的情况是catalogname.schemaname.relname,如果超过此,将不在支持。 GAUSS-01783: "unexpected node type in name list: %d" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-01784: "bogus PopOverrideSearchPath call" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-01785: "collation '%s' for encoding '%s' does not exist" SQLSTATE: 42704 错误原因:对应于GetDatabaseEncodingName()所得到的编码方法并不支持NameListToString(name)所对应的字符集。 解决办法:查询手册确认当前系统所支持的字符集以及相应的编码方式。 示例: 1 2 3 4 postgres=# select 'a' collate "dummy"; ERROR: collation "dummy" for encoding "UTF8" does not exist LINE 1: select 'a' collate "dummy"; ^ GAUSS-01786: "conversion '%s' does not exist" SQLSTATE: 42704 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-01787: "invalid list syntax" SQLSTATE: XX000 错误原因:系统内部错误。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-01788: "permission denied to create temporary tables in database '%s'" SQLSTATE: 42501 错误原因:该用户没有在当前数据库创建临时表的权限。 解决办法:执行GRANT语句赋予该用户访问当前数据库的权限,具体语句如下: 1 GRANT TEMPORARY on DATABASE database_name TO role_name; 更多GRANT语法内容,请参见GRANT。 GAUSS-01789: "cannot create temporary tables during recovery" SQLSTATE: 25006 错误原因:数据库当前属于从某个状态恢复的过程中,此时不支持创建临时表。 解决办法:若创建临时表不成功,可优先查看当前数据库状态。 GAUSS-01790: "current user does not have privilege to role %s" SQLSTATE: 42501 错误原因:当前用户没有管理role的权限。 解决办法:可向管理员确认用户当前的权限。 父主题: GAUSS-01701 -- GAUSS-01800
  • GAUSS-02281 -- GAUSS-02290 GAUSS-02281: "unrecognized mergejoin state: %d" SQLSTATE: XX000 错误原因:执行问题,mergejoin选择的执行策略错误导致。 解决办法:内部问题,请联系技术支持工程师提供技术支持。 GAUSS-02282: "RIGHT JOIN is only supported with merge-joinable join conditions" SQLSTATE: 0A000 错误原因: 计划问题,merge right join不支持。 解决办法:内部问题,请联系技术支持工程师提供技术支持。 GAUSS-02283: "FULL JOIN is only supported with merge-joinable join conditions" SQLSTATE: 0A000 错误原因:对于mergejoin来说,full join无法处理非常数型的连接表达式(joinclauses)。 解决办法:检查sql语句在调用full join时joinclauses是否为常数型。 GAUSS-02284: "non-MVCC snapshots are not supported in index-only scans" SQLSTATE: 0A000 错误原因:index-only scan不支持非MVCC的snapshot。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-02285: "EvalPlanQual recheck is not supported in index-only scans" SQLSTATE: 0A000 错误原因:index-only scan不支持并发更新时的recheck。 解决办法:请联系技术支持工程师提供技术支持。 GAUSS-02286: "cannot initialize index-only scans using unusable index '%s'" SQLSTATE: XX000 错误原因:索引不可用导致初始化index-only scan失败。 解决办法:检查系统表查看索引是否可用。 GAUSS-02287: "cannot initialize index-only scans using unusable local index '%s'" SQLSTATE: XX000 错误原因:索引不可用导致初始化index-only scan失败。 解决办法:检查系统表查看索引是否可用。 GAUSS-02288: "could not find hash function for hash operator %u" SQLSTATE: 42883 错误原因:找不到对应的hash函数。 解决办法:检查数据类型是否支持hash。 GAUSS-02290: "cursor '%s' is held from a previous transaction" SQLSTATE: 24000 错误原因:游标还被前一个事务持有。 解决办法:请检查游标的状态。 父主题: GAUSS-02201 -- GAUSS-02300
  • GAUSS-00901 -- GAUSS-00910 GAUSS-00901: "tables in ALTER TABLE EXCHANGE PARTITION must have the same column/row storage" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE PARTITION语句执行的表必有相同的行/列存储。 解决办法:建议检查ALTER TABLE EXCHANGE PARTITION语句执行的表是否有相同的行列存储,否则不能执行。 GAUSS-00902: "tables in ALTER TABLE EXCHANGE PARTITION must have the same type of compress" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE PARTITION语句执行的表必有相同的压缩类型。 解决办法:建议检查ALTER TABLE EXCHANGE PARTITION语句执行的表是否有相同的压缩类型,否则不能执行。 GAUSS-00903: "tables in ALTER TABLE EXCHANGE PARTITION must have the same number of columns" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE PARTITION语句执行的表必有相同的列数。 解决办法:建议检查ALTER TABLE EXCHANGE PARTITION语句执行的表是否有相同的列数,否则不能执行。 GAUSS-00904: "column name mismatch in ALTER TABLE EXCHANGE PARTITION" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE PARTITION语句执行的表列名不匹配。 解决办法:建议检查ALTER TABLE EXCHANGE PARTITION语句执行的表是否有相同的列名,否则不能执行。 GAUSS-00905: "column type or size mismatch in ALTER TABLE EXCHANGE PARTITION" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE PARTITION语句执行的表列类型及大小不匹配。 解决办法:建议检查ALTER TABLE EXCHANGE PARTITION语句执行的表是否有相同的列类型和大小,否则不能执行。 GAUSS-00906: "column not null constraint mismatch in ALTER TABLE EXCHANGE PARTITION" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE PARTITION语句执行的表列不能为空限制不匹配。 解决办法:建议检查ALTER TABLE EXCHANGE PARTITION语句执行的表列是否同时有不能为空限制,否则不能执行。 GAUSS-00907: "column default constraint mismatch in ALTER TABLE EXCHANGE PARTITION" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE PARTITION语句执行的表列默认限制不匹配。 解决办法:建议检查ALTER TABLE EXCHANGE PARTITION语句执行的表列是否有相同的默认限制,否则不能执行。 GAUSS-00908: "column collation mismatch in ALTER TABLE EXCHANGE PARTITION" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE PARTITION语句执行表的列排序不匹配。 解决办法:建议检查ALTER TABLE EXCHANGE PARTITION语句执行的表是否有相同的列排序,否则不能执行。 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 postgres=# create table t3 (a int,b text collate "C") postgres-# with (orientation = column,compression=middle) postgres-# distribute by hash (a); CREATE TABLE postgres=# create table t4 (a int,b text) postgres-# with (orientation = column,compression=middle) postgres-# distribute by hash (a) postgres-# partition by range(b)( postgres(# partition p1 values less than('a'), postgres(# partition p2 values less than('h'), postgres(# partition p3 values less than(maxvalue)); CREATE TABLE postgres=# alter table t4 exchange partition (p3) with table t3; ERROR: column collation mismatch in ALTER TABLE EXCHANGE PARTITION GAUSS-00909: "column storage mismatch in ALTER TABLE EXCHANGE PARTITION" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE PARTITION语句执行的表列存储不匹配。 解决办法:建议检查ALTER TABLE EXCHANGE PARTITION语句执行的表是否有相同的列存储,否则不能执行。 GAUSS-00910: "the type of column compress mismatch in ALTER TABLE EXCHANGE PARTITION" SQLSTATE: 0A000 错误原因:ALTER TABLE EXCHANGE PARTITION语句执行的表列压缩类型不匹配。 解决办法:建议检查ALTER TABLE EXCHANGE PARTITION语句执行的表是否有相同的压缩类型,否则不能执行。 父主题: GAUSS-00901 -- GAUSS-01000