英文:
Move several databases from one remote database to another in PostgreSQL
问题
我必须将一个远程数据库中的多个表移动到另一个PostgreSQL数据库中。
根据我的理解,唯一的方法是通过使用pg_dump来完成。
pg_dump -h <source_db_host> -U <source_db_user> -d <source_db_name> -f database_dump.sql
psql -h <target_db_host> -U <target_db_user> -d <target_db_name> -f database_dump.sql
但是,由于目标数据库中的架构与源数据库中的不同,所以会出错,我会收到特定架构在源数据库中不存在的错误消息。
是否有任何方法可以更改目标架构?
是否有其他更简单的选项来传输数据集?
英文:
I have to move several tables from one remote database to another in PostgreSQL.
From my understanding the only way of doing it is via the pg_dump.
pg_dump -h <source_db_host> -U <source_db_user> -d <source_db_name> -f database_dump.sql
psql -h <target_db_host> -U <target_db_user> -d <target_db_name> -f database_dump.sql
However, it fails as the schema in destination database is different from the one in source, so I receive the error message that particular schema is not exist in source db.
Is there anyway how to change the destination schema?
Is there any other easier option for transferring the datasets?
答案1
得分: 1
以下是已翻译的内容:
可以使用带有 pg_dump 的模式选项
pg_dump -h <source_db_host> -U <source_db_user> -d <source_db_name> --schema=schema_name -f database_dump.sql
然后包括模式名称,或者您可以使用 pg_dumpall
来转储数据库和模式。
pg_dumpall -h <source_db_host> -U <source_db_user> -f database_dumpall.sql
psql -h <target_db_host> -U <target_db_user> -f database_dumpall.sql
您还可以查看 pg 文档 以获取更多关于 pg_dump
的见解。
英文:
You can either use the schema option with pg_dump
pg_dump -h <source_db_host> -U <source_db_user> -d <source_db_name> --schema=schema_name -f database_dump.sql
then include the schema name or you can use pg_dumpall
to dump both the databases and the schemas.
pg_dumpall -h <source_db_host> -U <source_db_user> -f database_dumpall.sql
psql -h <target_db_host> -U <target_db_user> -f database_dumpall.sql
You can also take a look at the pg Docs to get more insight into pg_dump
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论