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 e12c9b8d-0d77-4462-9f52-06376d5f9d65@aklaver.com
Whole thread Raw
In response to Re: pg_restore ERROR: permission denied to change default privileges  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On 6/13/25 11:23, Tom Lane wrote:
> Rachel Roch <rroch@tutanota.de> writes:
>> This is the error I am seeing:
>> pg_restore: error: could not execute query: ERROR:  permission denied to change default privilegesCommand was: ALTER
DEFAULTPRIVILEGES FOR ROLE "postgres" IN SCHEMA "public" GRANT SELECT ON TABLES TO "my_database_ro";
 
> 
> Well, you aren't going to be able to do that if you're not superuser.
> 
> You could undo that ALTER in the source database and re-make the dump,
> or edit the dump script to remove this command, or not use

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.

If you want to do this in steps you can do:

pg_restore -s-f my_database_sch_txt.sql  my_database.dump

to get the object(schema) definitions only and then

pg_restore -a -f my_database_data_txt.sql  my_database.dump

to get the data definitions.

> pg_restore's "-1" switch and just ignore this error.
> 
>             regards, tom lane
> 
> 

-- 
Adrian Klaver
adrian.klaver@aklaver.com




pgsql-general by date:

Previous
From: Tom Lane
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