问题描述
我有一个带有 Postgres DB 的网站。网站创建于 2017 年,因此我将其更新为所有技术的最新版本。 我已经创建了另一台服务器并计划将整个站点移动到新服务器上,但我需要测试每个组件。我的网站代码我可以直接从我的电脑上传到新服务器。
但是有没有办法直接将 Postgres 转储到新服务器?我想直接将 Postgres 转储到新服务器,因为当前服务器只有 50 GB 空间,而我的数据库是 35 GB,因此由于空间限制,备份将失败。
pg_dump -C -h local -U localuser source_database | psql -h remote -U remoteuser target_database
从网上得到的。 所以我的目的简而言之是: 备份数据库以在另一台服务器上恢复。但不要将文件保存在旧服务器中,转移到新服务器。 对不起,如果我听起来很愚蠢。从 SO 那里学到了 80% 的东西。
解决方法
我之前玩过 pg-dump
并一直用它来更新我的测试环境。看看我问的 question。
该命令对我来说工作得很好,并且没有对生产(原始)数据库造成任何问题。
这是我在新服务器中运行的命令。
pg_dump -h remotehost -p 5432 -U remoteuser remotedb | psql -h localhost -p 5432 -U localuser localdb
请注意,我没有在此处添加 -C
,因为我已经创建了目标数据库。