生成 Postgres 转储并保存到另一台服务器

问题描述

我有一个带有 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,因为我已经创建了目标数据库。