mirror of
https://git.postgresql.org/git/postgresql.git
synced 2026-02-14 18:37:03 +08:00
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.
test_ddl_deparse is an example of how to use the pg_ddl_command datatype. It is not intended to do anything useful on its own; rather, it is a demonstration of how to use the datatype, and to provide some unit tests for it. The functions in this extension are intended to be able to process some part of the struct and produce some readable output, preferrably handling all possible cases so that SQL test code can be written.