La forma más sencilla de hacerlo es cambiar el nombre de los esquemas. Sin embargo, debe asegurarse de que es el único usuario de la base de datos db1.
Primero, oculte su esquema público en db1:
alter schema public rename to original_public;
create schema public;
A continuación, haga la copia de seguridad y la restauración:
$ pg_dump --format custom --file "my_backup" --schema "public" "db2"
$ pg_restore --dbname "db1" "my_backup"
Finalmente, vuelva a crear los nombres de esquema apropiados:
alter schema public rename to my_schema;
alter schema original_public rename to public;
Otra opción es usar dblink. Permite acceder a datos de diferentes bases de datos.