Re: pg_upgrade fails with an error "object doesn't exist"

2025-06-16 Thread Daniel Gustafsson
> On 17 Jun 2025, at 04:58, Tom Lane wrote: > There are enough moving parts in that area > already that I'm not eager to add more constraints to what pg_dump > needs to do. Agreed. I we were to do anything I think a check in pg_upgrade would be more appropriate than altering pg_dump (but I'm no

Re: pg_upgrade fails with an error "object doesn't exist"

2025-06-16 Thread Tom Lane
Vaibhav Dalvi writes: > Should we at least restrict dumping privileges for user objects inside > pg_catalog to avoid pg_upgrade failure? You haven't made a credible case for us to add any complexity in this area. Anybody messing with pg_catalog is living very much in "if you break it, you get to

Re: pg_upgrade fails with an error "object doesn't exist"

2025-06-16 Thread Vaibhav Dalvi
Hi Tom, Should we at least restrict dumping privileges for user objects inside pg_catalog to avoid pg_upgrade failure? Regards, Vaibhav On Mon, Jun 16, 2025 at 7:11 PM Tom Lane wrote: > Daniel Gustafsson writes: > > On 16 Jun 2025, at 09:29, Vaibhav Dalvi > wrote: > >> Why can't we strictly

Re: pg_upgrade fails with an error "object doesn't exist"

2025-06-16 Thread Tom Lane
Daniel Gustafsson writes: > On 16 Jun 2025, at 09:29, Vaibhav Dalvi > wrote: >> Why can't we strictly restrict object creation in pg_catalog? > Do you have allow_system_table_mods set to ON by any chance? As Laurenz said, > such creation is already restricted, but it can be circumvented by usi

Re: pg_upgrade fails with an error "object doesn't exist"

2025-06-16 Thread Daniel Gustafsson
> On 16 Jun 2025, at 10:59, Vaibhav Dalvi > wrote: > It's OFF. > postgres=# select version(); > version > > --

Re: pg_upgrade fails with an error "object doesn't exist"

2025-06-16 Thread Vaibhav Dalvi
Hi Daniel, Thanks for your response. On Mon, Jun 16, 2025 at 1:27 PM Daniel Gustafsson wrote: > > On 16 Jun 2025, at 09:29, Vaibhav Dalvi > wrote: > > > I'm able to create the object as shown in the below: > > > > postgres=# CREATE OR REPLACE FUNCTION pg_catalog.nont_ext_func() RETURNS > char

Re: pg_upgrade fails with an error "object doesn't exist"

2025-06-16 Thread Vaibhav Dalvi
Hi Laurenz, Thanks for the response. > > > > I believe one of the following approaches should be considered to prevent > > such failures: > > > > 1. Restrict the creation of user objects within the `pg_catalog` schema. > > That's already the case: > > test=# CREATE TABLE pg_catalog.new (); > ERR

Re: pg_upgrade fails with an error "object doesn't exist"

2025-06-16 Thread Daniel Gustafsson
> On 16 Jun 2025, at 09:29, Vaibhav Dalvi > wrote: > I'm able to create the object as shown in the below: > > postgres=# CREATE OR REPLACE FUNCTION pg_catalog.nont_ext_func() RETURNS char > AS $$ BEGIN return 'v'; END; $$ LANGUAGE plpgsql; > CREATE FUNCTION > > Why can't we strictly restrict

Re: pg_upgrade fails with an error "object doesn't exist"

2025-06-13 Thread Laurenz Albe
On Fri, 2025-06-13 at 13:38 +0530, Vaibhav Dalvi wrote: > I'm writing to share an observation regarding `pg_catalog` system objects > and their privileges during `pg_upgrade`. It's known that `pg_catalog` > system objects are not dumped, but their privileges are. However, > if user-created objects

pg_upgrade fails with an error "object doesn't exist"

2025-06-13 Thread Vaibhav Dalvi
Hi, I'm writing to share an observation regarding `pg_catalog` system objects and their privileges during `pg_upgrade`. It's known that `pg_catalog` system objects are not dumped, but their privileges are. However, if user-created objects are placed within `pg_catalog` and their privileges are alt