On 11/3/22 07:28, Post Gresql wrote:
> Hello
>
> I first successfully ran
>
> pg_dump -U postgres -b -E UTF8 -f my_dump --format=custom -n my_schema
> --no-owner -v my_db
>
> but then
>
> pg_restore --single-transaction -v -U postgres -O -e -d my_other_db my_dump
>
> failed with
>
> pg_restore: connecting to database for restore
> pg_restore: creating FUNCTION "my_schema.update_b()"
> pg_restore: [archiver (db)] Error while PROCESSING TOC:
> pg_restore: [archiver (db)] Error from TOC entry 7142; 1255 8618854
> FUNCTION update_b() previous_owner
> pg_restore: [archiver (db)] could not execute query: ERROR: schema
> my_schema" does not exist
> Command was: CREATE FUNCTION "my_schema".update_b() RETURNS void
> LANGUAGE plpgsql
> AS $$
> BEGIN
> PERFORM pg_advisory_xact_lock(1);
>
> INSERT INTO ...;
> END;
> $$;
>
>
> This is PG version 10.19
>
> Is there a solution for this (apart from upgrading to a newer PG version)?
Was there another error before this?
Did the -v show the schema my_schema being created?
>
> The only workaround I can think of is to dump in plain text and then
> edit the dump file.
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com