mirror of
https://github.com/postgres/postgres.git
synced 2025-11-06 07:49:08 +03:00
ALTER TABLE .. FORCE ROW LEVEL SECURITY
To allow users to force RLS to always be applied, even for table owners, add ALTER TABLE .. FORCE ROW LEVEL SECURITY. row_security=off overrides FORCE ROW LEVEL SECURITY, to ensure pg_dump output is complete (by default). Also add SECURITY_NOFORCE_RLS context to avoid data corruption when ALTER TABLE .. FORCE ROW SECURITY is being used. The SECURITY_NOFORCE_RLS security context is used only during referential integrity checks and is only considered in check_enable_rls() after we have already checked that the current user is the owner of the relation (which should always be the case during referential integrity checks). Back-patch to 9.5 where RLS was added.
This commit is contained in:
@@ -1514,6 +1514,8 @@ typedef enum AlterTableType
|
||||
AT_ReplicaIdentity, /* REPLICA IDENTITY */
|
||||
AT_EnableRowSecurity, /* ENABLE ROW SECURITY */
|
||||
AT_DisableRowSecurity, /* DISABLE ROW SECURITY */
|
||||
AT_ForceRowSecurity, /* FORCE ROW SECURITY */
|
||||
AT_NoForceRowSecurity, /* NO FORCE ROW SECURITY */
|
||||
AT_GenericOptions /* OPTIONS (...) */
|
||||
} AlterTableType;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user