From: | Fabrice Chapuis <fabrice636861(at)gmail(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: roles management problem after upgrading in PG 17 |
Date: | 2025-07-25 08:07:38 |
Message-ID: | CAA5-nLBWsDLoFMSd+sU6tyOTrkyhmNGW+0AhioF2HRBLW_ZErA@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Thank you for your reply, Robert.
My main goal was to report this observation, because I was surprised to see
that in the dump the grantors were not exported.
Thanks for drawing my attention to the "observes" section; it is indeed
very useful.
For my part, I corrected the problem related to this perfectly justified
restriction by using this query:
SELECT 'GRANT ' || rolname || ' TO group_of_administrators WITH ADMIN
OPTION, INHERIT FALSE, SET TRUE;' as username
FROM pg_roles
where left(rolname,1) in('a','b')
and rolname not in(
'a_xx_administrators'
,'a_xx_standard_users'
,'a_xx_technical_users,
,'a_xx_owners',
...
)
Best regards,
Fabrice
On Thu, Jul 24, 2025 at 7:50 PM Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Thu, Jul 24, 2025 at 7:03 AM Fabrice Chapuis <fabrice636861(at)gmail(dot)com>
> wrote:
> > After upgrading from Postgres version 14 to Postgres version 17, I
> noticed that some "grantor" roles (admin_role) disappear when exporting all
> roles with grants
> >
> > /usr/pgsql-17/bin/pg_dumpall --globals-only --quote-all-identifiers
> --binary-upgrade --no-sync -f /var/lib/pgsql/roles_bin.sql
> >
> > Consequently, the admin_role could not administer some roles in version
> 17 related to modifications made in version 16 concerning roles
> administration.
> >
> > A message could be displayed when executing pg_upgrade with option
> --check that the attribute "createrole" for a user is more restrictive
> since version 16 and anomalies may appear after upgrading in the new
> version.
> >
> > What is your opinion
>
> Well, we do have a section in the release notes that says "Observe the
> following incompatibilities" and I think that's the place that people
> should check when upgrading. In a perfect world, maybe tools like
> pg_dump and pg_upgrade could also warn you about incompatibilities
> that are likely to affect your specific installation, but that would
> be a lot of work to create and maintain and nobody's volunteered to do
> that much work yet. Of course, someone could argue that this
> particular incompatibility is so much worse than any of the others
> that it deserves to be called out specifically even if we don't do
> that in other cases, but I am a bit skeptical of that argument. I
> think it would lead to people being frightened of this particular
> change as compared with anything else, and I'm not sure that's a
> justified reaction. If anything, I think people who are using
> CREATEROLE with a non-SUPERUSER account should probably be very afraid
> of staying on OLD releases, where the behavior is extremely insecure
> and such users can just go take over the superuser account whenever
> they like.
>
> Of course, you or others might see it differently.
>
> --
> Robert Haas
> EDB: http://www.enterprisedb.com
>
From | Date | Subject | |
---|---|---|---|
Next Message | Álvaro Herrera | 2025-07-25 08:11:31 | Re: More protocol.h replacements this time into walsender.c |
Previous Message | Hayato Kuroda (Fujitsu) | 2025-07-25 08:00:58 | RE: 024_add_drop_pub.pl might fail due to deadlock |