Re: pg_restore ERROR: permission denied to change default privileges - Mailing list pgsql-general

From Adrian Klaver
Subject Re: pg_restore ERROR: permission denied to change default privileges
Date
Msg-id c3e27dc2-343d-48dd-bf05-a1404e6939ec@aklaver.com
Whole thread Raw
In response to Re: pg_restore ERROR: permission denied to change default privileges  (Rachel Roch <rroch@tutanota.de>)
List pgsql-general
On 6/14/25 01:42, Rachel Roch wrote:
> 
> 
> 
> 13 Jun 2025, 20:13 by adrian.klaver@aklaver.com:
> 
>>
>> To get at an editable script you can do something like:
>>
>> pg_restore -f my_database_txt.sql  my_database.dump
>>
>> This will give you a plain text version of the dump that you can feed back to psql to load into remote database.
>>
> 
> Thanks Adrian !
> 
> I had thought maybe maybe I could do a "pg_restore -l my_database.dump" and ignore the relevant line using whatever
theother flag is, but sadly there doesn't appear to be enough flexibility, i.e.
 
> 
> pg_restore -l my_database.dump | fgrep -F postgres
> gives:
> 2067; 826 16607 DEFAULT ACL public DEFAULT PRIVILEGES FOR TABLES postgres
> 
> But
> 
> pg_restore -l my_database.dump | fgrep -F my_database_ro
> gives nothing.   :(

That is because the lines returned from pg_restore -l are not the full 
commands, they represent(generally) a summary of the object, its name 
and the owner.

The error message and your first example above show that the command is 
there. See at here:

https://www.postgresql.org/docs/current/app-pgrestore.html

in the Examples section how you can comment out the line. Then you could 
use -L to feed the list back to pg_restore.

Isn't fgrep -F redundant? As I understand it fgrep = grep -F

> 
> So either your solution or Tom's "just ignore it" sound like they'll work.

-- 
Adrian Klaver
adrian.klaver@aklaver.com




pgsql-general by date:

Previous
From: Rachel Roch
Date:
Subject: Re: pg_restore ERROR: permission denied to change default privileges
Next
From: Rachel Roch
Date:
Subject: Re: pg_restore ERROR: permission denied to change default privileges