Najprostszym sposobem na to jest zmiana nazw schematów. Musisz jednak upewnić się, że jesteś jedynym użytkownikiem bazy danych db1.
Najpierw ukryj swój schemat publiczny w db1:
alter schema public rename to original_public;
create schema public;
Następnie wykonaj kopię zapasową i przywróć:
$ pg_dump --format custom --file "my_backup" --schema "public" "db2"
$ pg_restore --dbname "db1" "my_backup"
Na koniec odtwórz odpowiednie nazwy schematów:
alter schema public rename to my_schema;
alter schema original_public rename to public;
Inną opcją jest użycie dblink. Umożliwia dostęp do danych z różnych baz danych.