Re: pg_restore (fromuser -> touser) - Mailing list pgsql-general

From Ben Madin
Subject Re: pg_restore (fromuser -> touser)
Date
Msg-id CA+weYr0n53CxMVC9wdLSnwMf68Om7g5wQd1AQEbLB6mREUhtcA@mail.gmail.com
Whole thread Raw
In response to pg_restore (fromuser -> touser)  (Mayan <popalzie@gmail.com>)
Responses Re: pg_restore (fromuser -> touser)  ("Peter J. Holzer" <hjp-pgsql@hjp.at>)
List pgsql-general
Hi - we have had to do such operations quite commonly, if you want to automate / stream such a change I would suggest that you look into sed. Off the top of my head, consider something like this:

pg_dump --format=p --schema=schema_a original_database | sed 's/ schema_a./ schema_b./g' | psql new_database

this is presuming a space before the schemaname, and a fullstop between schema and other elements.

cheers

Ben


On Sat, 24 Jul 2021 at 01:38, Mayan <popalzie@gmail.com> wrote:

Hi,

 

I had a general question about a feature that we depended on heavily when using other RDBMS providers which was the ability to take a schema dump and restore it to a different database and a different schema in that database (could be to the same database as well).  Basically, there was an option on restore to specify a FROMUSER and a TOUSER directive so schema A could be restored elsewhere but as schema B.

 

I don’t see such an option in Postgres and the only workaround I am aware of is to do a plain-text (format=p) and then a crude find/replace to replace the old schema name with the new schema name.  I’ve never actually tested this to be sure even this would work.  Also, using this option will prevent us from parallelizing the import or export, so it’s really not something we want to do.

 

This would be a really useful feature in my opinion along with the ability to maintain parallelization options. 

 

Are there any such features on the roadmap?  Is my understanding correct about the available ways to accomplish this – again, in a practical and performant way?

 

Thanks,

Mayan



--

Ausvet Logo

Dr Ben Madin
 
BVMS MVPHMgmt PhD MANZCVS GAICD
Managing Director
Skype: benmadin
Address: 
5 Shuffrey Street
Fremantle, WA 6160
Australia

pgsql-general by date:

Previous
From: guntiso@latnet.lv
Date:
Subject: single-row deadlock
Next
From: Vijaykumar Jain
Date:
Subject: Re: pg-audit extension