Re: [PATCH] Add pg_get_policy_ddl() function to reconstruct CREATE POLICY statement - Mailing list pgsql-hackers

From Akshay Joshi
Subject Re: [PATCH] Add pg_get_policy_ddl() function to reconstruct CREATE POLICY statement
Date
Msg-id CANxoLDczdpL9XZhqrA0f8aOocnr_V0az1dtw8iq9YJoN+tWNbw@mail.gmail.com
Whole thread Raw
In response to Re: [PATCH] Add pg_get_policy_ddl() function to reconstruct CREATE POLICY statement  (Marcos Pegoraro <marcos@f10.com.br>)
List pgsql-hackers

Thanks for the clarification. However, I still believe this is out of scope for the CREATE POLICY DDL. The command ALTER TABLE ... ENABLE ROW LEVEL SECURITY seems more appropriate as part of the CREATE TABLE reconstruction rather than CREATE POLICY.

That said, I’m open to adding it if the majority feels it should be included in this feature.


On Fri, Nov 7, 2025 at 8:18 PM Marcos Pegoraro <marcos@f10.com.br> wrote:
Em sex., 7 de nov. de 2025 às 11:27, Akshay Joshi <akshay.joshi@enterprisedb.com> escreveu:
I don’t think we need that statement. Could you please elaborate on where exactly it needs to be added?

well, these pg_get_..._ddl() functions will be cool for compare/clone schemas in a multi tenant world.
Instead of dump/sed/restore a schema to create a new one, I could use something like
select pg_get_table_ddl(oid) from pg_class where nspname = 'customer_050' and relkind = 'r' union all
select pg_get_constraint_ddl(oid) from pg_constraint inner join pg_class on ... where ... union all
select pg_get_trigger_ddl(oid) from pg_trigger inner join pg_class on ... where ... union all
...

And pg_get_policy_ddl() will be part of these union all selects

Because that would be good to worry about create that only if it does not exists or drop first too.

regards
Marcos

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Add MERGE and VALUES statements to tab completion for PREPARE
Next
From: Peter Smith
Date:
Subject: Re: Remove unused for_all_tables field from AlterPublicationStmt