On 10/20/22 06:20, Ron wrote:
On 10/20/22 00:12, Tom Lane wrote:
Frank Gard <frank.von.postgresql.org@xxxxxxxxxxxxxxx> writes:
Am 20.10.22 um 02:58 schrieb Ron:
pg_restore -v --create --clean --jobs=`nproc` -Fd --dbname=template1
$DB
What database do you want to restore your data into? As far as I know
your pg_restore command would import the data into template1, right?
No --- my ears went up about that too, but he's using --create.
So template1 is just the springboard for the initial connection
in which CREATE DATABASE will be issued.
My guess is that there's something inconsistent between source
and target installations about roles and role-privilege grants.
We don't have enough details to do more than guess, though.
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?
2) What does nproc --jobs=`nproc` resolve to?
3) What if you run without --jobs?
4) What user are you running the pg_restore as?
5) Why the --no-role-passwords in the pg_dump?
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx