pg_get_constraintdef()

返回约束定义的函数

pg_get_constraintdef() 是一个用于获取约束定义的系统函数。

pg_get_constraintdef()PostgreSQL 7.3 中添加。

用法

pg_get_constraintdef ( constraint oid [, pretty boolean ] ) → text

返回的定义是从元数据重建的,而不是最初提供的定义文本。

更改历史记录

示例

使用具有单个约束的表的 pg_get_constraintdef() 用法的简单示例

postgres=# CREATE TABLE foo (id INT NOT NULL CHECK (id BETWEEN 1 AND 2));
CREATE TABLE

postgres=# \d foo
                Table "public.foo"
 Column |  Type   | Collation | Nullable | Default 
--------+---------+-----------+----------+---------
 id     | integer |           | not null | 
Check constraints:
    "foo_id_check" CHECK (id >= 1 AND id <= 2)

此查询使用 pg_get_constraintdef() 返回表上所有约束的定义

postgres=# SELECT pg_get_constraintdef(oid) 
             FROM pg_constraint
            WHERE conrelid='foo'::regclass;
       pg_get_constraintdef        
-----------------------------------
 CHECK (((id >= 1) AND (id <= 2)))
(1 row)

使用 pretty 选项

postgres=# SELECT pg_get_constraintdef(oid, TRUE)
             FROM pg_constraint
            WHERE conrelid='foo'::regclass;
    pg_get_constraintdef     
-----------------------------
 CHECK (id >= 1 AND id <= 2)
(1 row)

分类

系统函数

另请参阅

pg_constraintpg_get_functiondef()pg_get_indexdef()pg_get_ruledef(),pg_get_statisticsobjdef(),pg_get_triggerdef()pg_get_viewdef()

反馈

提交关于 "pg_get_constraintdef()" 的任何评论、建议或更正 此处