更新时间:2022-07-04 GMT+08:00

视图查询时执行失败

问题现象

在连接集群数据库之后,使用某个视图执行查询,可能会操作失败,提示错误信息如下:

[GAUSS-01850] : object with oid 16420 is not a partition object

原因分析

此视图是建立分区表的某个分区上的,查询此视图时需要访问到对应的分区,从而必须首先查询对应的分区是否存在。当对应的分区已经被删除后,无法访问到此分区,从而导致视图访问也失败,报出如上类似的信息。

解决办法

  1. 确定是针对视图对象进行的SQL操作,并获得视图的名字。

    直接检查SQL语句的FROM对象,确定是否为视图。若是,则直接获得该视图的名字。

  2. 使用已获得的视图的名字和schema,删除该视图。
  3. 重新执行SQL语句。对于查询操作,由于对应的分区已经被删除,视图的存在没有意义。