Thread

  1. Re: [PATCH] Add pg_get_policy_ddl() function to reconstruct CREATE POLICY statement

    Akshay Joshi <akshay.joshi@enterprisedb.com> — 2025-11-20T09:27:05Z

    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
    >>
    >