Re: pg_restore --no-policies should not restore policies' comment

From: jian he <jian(dot)universality(at)gmail(dot)com>
To: Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_restore --no-policies should not restore policies' comment
Date: 2025-07-03 14:31:13
Message-ID: CACJufxEc5CcU3Gw43q_ycX9wArEci5UYuv4hag9mPWWYueo5nA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jul 2, 2025 at 5:18 PM Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com> wrote:
>
> > hi.
> >
> > I’ve tested the pg_restore options --no-policies, --no-publications, and
> > --no-subscriptions locally.
>
> Thanks for updating the patch! Could you add it to the next CommitFest
> so we don't forget about it?
>
sure.

>
> > However, I haven’t tested --no-security-labels option, so no changes were
> > made for it. Testing --no-security-labels appears to need more setup, which
> > didn’t seem trivial.
>
> You're checking whether pg_restore --no-publications --no-subscriptions correctly
> skips security labels for publications and subscriptions, and if not,
> you'll prepare a patch. Right? I'm not sure how common it is to define security
> labels on publications or subscriptions, but if the behavior is unexpected (i.e.,
> the security labels are not skipped in that case), it's worth fixing.
> It would probably be better to handle that in a separate patch from the one
> for comments.
>
> To set up a security label for testing, you can use the
> src/test/modules/dummy_seclabel module.
>

Thanks!
Using dummy_seclabel helped me test the pg_restore --no-security-labels
behavior. All the attached patches have now been tested locally. I’ll need help
writing the Perl tests....

I found out another problem while playing with pg_restore --no-security-labels:
pg_dump does not dump security labels on global objects like
subscriptions or roles.

summary of attached patch:
01: make pg_restore not restore comments if comments associated
objects are excluded.
02: make pg_dump dump security label for shared database objects, like
subscription, roles.
03: make pg_restore not restore security labels if the associated
object is excluded.

Attachment Content-Type Size
v2-0002-make-pg_dump-dump-security-label-for-shared-database-obje.patch text/x-patch 1.4 KB
v2-0003-not-restore-security-labels-if-the-associated-object-is-e.patch text/x-patch 1.9 KB
v2-0001-not-restore-comments-if-the-associated-object-is-excluded.patch text/x-patch 1.6 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Steve Chavez 2025-07-03 14:38:26 Re: PG 18 beta1 release notes misses mention of pg_noreturn
Previous Message Yugo Nagata 2025-07-03 14:18:12 Re: Prevent internal error at concurrent CREATE OR REPLACE FUNCTION