Controls firing of replication-related triggers and rules for the current session. Setting this variable requires superuser privilege and results in discarding any previously cached query plans. Possible values are
origin (the default),
The intended use of this setting is that logical replication systems set it to
replica when they are applying replicated changes. The effect of that will be that triggers and rules (that have not been altered from their default configuration) will not fire on the replica. See the clauses
ENABLE TRIGGER and
ENABLE RULE for more information.
PostgreSQL treats the settings
local the same internally. Third-party replication systems may use these two values for their internal purposes, for example using
local to designate a session whose changes should not be replicated.
Since foreign keys are implemented as triggers, setting this parameter to
replica also disables all foreign key checks, which can leave data in an inconsistent state if improperly used.
- Postgresql Truncation vs Deletion When `session_replication_role = replica`
- is it safe to run vacuum analyze on a read replica?
- Bootstrap bucardo replication after pg_restore
- How to disable foreign key constraints in postgresql
- Disable foreign key constrains in AWS DMS Migration not working for Postgres
- Re: Granting control of SUSET gucs to non-superusers
- Re: Delegating superuser tasks to new security roles (Was: Granting control of SUSET gucs to non-superusers)
- [PATCH] New default role allowing to change per-role/database settings
- Re: [PATCH] New default role allowing to change per-role/database settings