Re: [PATCH] Add pg_get_policy_ddl() function to reconstruct CREATE POLICY statement
Akshay Joshi <akshay.joshi@enterprisedb.com>
From: Akshay Joshi <akshay.joshi@enterprisedb.com>
To: Marcos Pegoraro <marcos@f10.com.br>
Cc: Mark Wong <markwkm@gmail.com>, Álvaro Herrera <alvherre@kurilemu.de>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-11-20T09:27:05Z
Lists: pgsql-hackers
Attachments
- v8-0001-Add-pg_get_policy_ddl-function-to-reconstruct-CREATE.patch (application/x-patch)
Attached is the v8 patch for your review, with updated variable names and a rebase applied. On Mon, Nov 10, 2025 at 10:46 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote: > 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 >> >