2017-12-29 2 views
0

Ich habe mit psql pipe Befehl, um eine Tabelle von einer Datenbank in eine andere in Postgres zu kopieren. Es funktioniert gut. Aber ich muss die Tabelle in ein bestimmtes Schema in der neuen Datenbank kopieren. Ich habe die Dokumentation durchgesehen (benutze -n Option zum Spezifizieren des Schemanamens), aber es funktioniert nicht.Wie in ein bestimmtes Schema in Postgres mit psql pipe Befehl eingefügt werden

Befehl:

pg_dump -U postgres -h localhost -p 1212 -d dbname -t tablename -Ft | pg_restore -U postgres -h localhost -p 1213 -d dbname -n schemaname 

Antwort

0

Sie es mit pg_dump|pg_restore Sequenz nicht tun kann. Sie müssen alter table t set schema s; in restaurierten db

0

Ich mache es, dass diese Art und Weise:

pg_dump -U postgres -h localhost -p 1212 -d dbname -t tablename | sed "sed/oldschemaname/newschemaname/" | psql -U postgres -h localhost -p 1213 -d dbname -n schemaname 

Mit dem entsprechenden regulären Ausdruck

Verwandte Themen