Re: pg_restore 12 "permission denied for schema" errors

Поиск
Список
Период
Сортировка
От Ron
Тема Re: pg_restore 12 "permission denied for schema" errors
Дата
Msg-id 119d108c-0669-a15d-2afe-3c4116130118@gmail.com
обсуждение исходный текст
Ответ на Re: pg_restore 12 "permission denied for schema" errors  (Adrian Klaver <adrian.klaver@aklaver.com>)
Ответы Re: pg_restore 12 "permission denied for schema" errors  (Adrian Klaver <adrian.klaver@aklaver.com>)
Список pgsql-general
On 10/22/22 11:20, Adrian Klaver wrote:
> On 10/20/22 14:34, Ron wrote:
>> On 10/20/22 10:02, Adrian Klaver wrote:
>>> On 10/20/22 06:20, Ron wrote:
>>>> On 10/20/22 00:12, Tom Lane wrote:
>
>>>> I ran "pg_dumpall --globals-only --no-role-passwords" on the source 
>>>> instance, and applied it to the new instance before doing the 
>>>> pg_restore. If I hadn't done that, pg_restore would have thrown errors 
>>>> on all the GRANT and ALTER TABLE ... OWNER TO statements embedded in 
>>>> the backup.
>>>>
>>>
>>> Some questions:
>>>
>>> 1) The backup was from a Postgres 12.x database using a version 12 or 
>>> higher instance of pg_backup?
>>
>> pg_dump and pg_restore are 12.11 from RHEL8.
>>
>>> 3) What if you run without --jobs?
>>
>> It runs without error.  Add "--jobs=2" and the errors appear.
>>
>
> Hmm, that is beyond me.
>
> 1) I did notice that the pg_restore errors all where; ERROR: permission 
> denied for schema strans
>
> 2) They all occurred during CREATE INDEX or COPY, which would be the part 
> where --jobs kicks in.
>
> To me it looks like  out of order execution where the jobs starting on 
> their tasks before the main task got done granting permissions. I just 
> have no idea how that could happen.

I was afraid you were going to say that.

The work-around is to:
pg_dump $SRCDB --schema-only | grep -e '^\(GRANT|REVOKE\)' > all_GRANT.sql
pg_dump $SRCDB --schema-only | grep OWNER > all_OWNER.sql
pg_restore --jobs=X --no-owner $NEWDB
psql $NEWDB -f all_OWNER.sql
psql $NEWDB -f all_GRANT.sql

This is, of course, why we need to test the backup/restore process.

-- 
Angular momentum makes the world go 'round.



В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: pg_restore 12 "permission denied for schema" errors
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: pg_restore 12 "permission denied for schema" errors