Summary
- 这个参数影响外键的使用。
- 可以设置三个值
- origin,源,官方默认值,设置成这个不会有任何影响。
- local,角色是本地,不存在主备的概念,所以也是不会有影响。
- replica,从库,角色是备,会禁用 replication-related 的 trigger 和 rule。
- PG中,外键的本质就是trigger,所以当设置为repilca的时候,replication相关的会一同被禁用,所以现象为外键失效!
Setup
SET session_replication_role = 'replica';
-- 执行相关操作
SET session_replication_role = 'origin';
Reference
https://www.postgresql.org/docs/11/runtime-config-client.html#GUC-SESSION-REPLICATION-ROLE