数据仓库服务 GAUSSDB(DWS)-PG_DEPEND:应用示例

时间:2023-11-11 15:05:26

应用示例

查询名为serial1的数据库对象sequence和哪个表有依赖关系。

  1. 先通过系统表PG_CLASS查询序列名为serial1的oid。
    1
    2
    3
    4
    5
    SELECT oid FROM pg_class WHERE relname ='serial1';
      oid
    -------
     17815
    (1 row)
    
  2. 使用系统表PG_DEPEND根据所查询的序列serial1的oid获取依赖该序列的对象。
    1
    2
    3
    4
    5
    6
    SELECT * FROM pg_depend WHERE objid ='17815';
     classid | objid | objsubid | refclassid | refobjid | refobjsubid | deptype
    ---------+-------+----------+------------+----------+-------------+---------
        1259 | 17815 |        0 |       2615 |     2200 |           0 | n
        1259 | 17815 |        0 |       1259 |    17812 |           1 | a
    (2 rows)
    
  3. 根据字段refobjid获取依赖该序列serial1的表的OID,并查询到表名。其结果表示,序列serial1依赖于表customer_address。
    1
    2
    3
    4
    5
    SELECT relname FROM pg_class where oid='17812';
         relname
    ------------------
     customer_address
    (1 row)
    
support.huaweicloud.com/devg-dws/dws_04_0585.html