查看PostgreSQL所有约束

标签

PostgreSQL , constraint


背景

https://blog.crunchydata.com/blog/postgres-constraints-for-newbies

SELECT * FROM (  
    SELECT  
       c.connamespace::regnamespace::text as table_schema,  
       c.conrelid::regclass::text as table_name,  
       con.column_name,  
       c.conname as constraint_name,  
       pg_get_constraintdef(c.oid)  
    FROM  
        pg_constraint c  
    JOIN  
        pg_namespace ON pg_namespace.oid = c.connamespace  
    JOIN  
        pg_class ON c.conrelid = pg_class.oid  
    LEFT JOIN  
        information_schema.constraint_column_usage con ON  
        c.conname = con.constraint_name AND pg_namespace.nspname = con.constraint_schema     
    UNION ALL  
    SELECT  
        table_schema, table_name, column_name, NULL, 'NOT NULL'  
    FROM information_schema.columns  
    WHERE  
        is_nullable = 'NO'  
) all_constraints  
WHERE  
    table_schema NOT IN ('pg_catalog', 'information_schema')  
ORDER BY table_schema, table_name, column_name, constraint_name  
;  
 table_schema |    table_name    | column_name |    constraint_name    | pg_get_constraintdef   
--------------+------------------+-------------+-----------------------+----------------------  
 public       | pgbench_accounts | aid         | pgbench_accounts_pkey | PRIMARY KEY (aid)  
 public       | pgbench_accounts | aid         |                       | NOT NULL  
 public       | pgbench_branches | bid         | pgbench_branches_pkey | PRIMARY KEY (bid)  
 public       | pgbench_branches | bid         |                       | NOT NULL  
 public       | pgbench_tellers  | tid         | pgbench_tellers_pkey  | PRIMARY KEY (tid)  
 public       | pgbench_tellers  | tid         |                       | NOT NULL  
 public       | t1               | id          | t1_pkey               | PRIMARY KEY (id)  
 public       | t1               | id          |                       | NOT NULL  
 public       | t2               | id          | t2_pkey               | PRIMARY KEY (id)  
 public       | t2               | id          |                       | NOT NULL  
 public       | u                | id          | u_pkey                | PRIMARY KEY (id)  
 public       | u                | id          |                       | NOT NULL  
(12 rows)  
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值