Eph*_*hra 2 postgresql foreign-key constraint
我能够读取信息架构中的 CONSTRAINTS,但是如何获取与该 CONSTRAINTS 关联的所有参数,以使用 SQL 获取完整的 CONSTRAINTS 定义?例如,
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
Run Code Online (Sandbox Code Playgroud)
这将为我提供约束列表,但是可以说,我有一个约束外键“user_role_id”,其完整定义(通过 pgAdmin)是
ALTER TABLE app.user
ADD CONSTRAINT user_role_id FOREIGN KEY (role_id)
REFERENCES app.role (id) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE;
Run Code Online (Sandbox Code Playgroud)
那么,如何通过编写 SQL 来获得此定义,该 SQL 为我提供与该约束相关的所有选项呢?
Eph*_*hra 11
这解决了我的问题
SELECT conrelid::regclass AS table_from
,conname
,pg_get_constraintdef(c.oid)
FROM pg_constraint c
JOIN pg_namespace n ON n.oid = c.connamespace
WHERE contype IN ('f', 'p ')
AND n.nspname = 'public' -- your schema here
ORDER BY conrelid::regclass::text, contype DESC;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10128 次 |
| 最近记录: |