Ashwin Asked: 2012-08-24 18:24:18 +0800 CST2012-08-24 18:24:18 +0800 CST 2012-08-24 18:24:18 +0800 CST 将 PostgreSQL 数据从一台 PC 复制到另一台 PC 772 我正在将我的服务器应用程序从现有系统迁移到另一个系统。不幸的是,现有系统也是数据库服务器。它存储了数据。是否可以将此数据复制到其他系统?我有所有表模式的副本。 我不知道如何进行。我正在使用 PostgreSQL。 postgresql backup 3 个回答 Voted Best Answer swasheck 2012-08-24T18:54:30+08:002012-08-24T18:54:30+08:00 您可以使用 psql 转储数据库pg_dump,然后在新服务器上恢复它。以下是来自上述链接的几个命令: 创建备份: pg_dump mydb > db.sql 复制db.sql到新服务器(具体命令取决于操作系统) 转到新服务器 createdb mydb -E UTF8(您不必指定 UTF8 编码,但我总是这样做) 然后: psql -d mydb -f db.sql 正如我正在回答的那样,JohnP 只是回答了一个很好的答案,但假设它pg_hba.conf已被编辑为允许远程连接并postgres.conf已被编辑为在网络上收听。 JohnP 2012-08-24T18:52:27+08:002012-08-24T18:52:27+08:00 也许最简单的方法是从旧服务器进行完整转储,然后将结果直接传送到新服务器。像这样: pg_dump -h old_server_ip -p 5432 -U username dbname | psql -h localhost -p 5432 -U username dbname 以超级用户身份执行此操作。默认情况下,postgres用户是超级用户,但您可能已经创建了其他用户。 更新:如果您在不同服务器版本之间移动数据,请使用最新版本的 pg_dump,很可能是新服务器上的 pg_dump。 shawty 2012-08-25T06:42:02+08:002012-08-25T06:42:02+08:00 上次我不得不做这样的任务时,我使用了名为“GeoKettle”的免费 ETL 工具 http://www.spatialytics.org/projects/geokettle/ 一开始看起来有点吓人,但是对于服务器到服务器的复制,您需要做的就是将一个表格输入拖到您的工作台上,将一个表格拖到您的工作台上,将它们连接在一起,然后双击每个并将它们配置为必需的。 完成后,您将保存转换,并在您需要时运行它。 要运行它,请加载您的转换并单击运行按钮。假设一切正常并且配置正确,您应该可以相对快速地传输数据。 如果您不需要处理空间数据,那么您可以使用称为“Pentaho”的非空间版本,但由于 GeoKettle 可以做 Pentaho 可以做的所有事情,而且 GeoKettle 是 2 中最好的。 您将需要一天的时间来适应该应用程序,但是一旦您完成后,您会发现一切都非常简单且可重复使用。 我现在使用该应用程序从各种不同的服务器复制到其他不同的服务器以及批量加载各种数据。
您可以使用 psql 转储数据库
pg_dump
,然后在新服务器上恢复它。以下是来自上述链接的几个命令:创建备份:
pg_dump mydb > db.sql
复制
db.sql
到新服务器(具体命令取决于操作系统)转到新服务器
createdb mydb -E UTF8
(您不必指定 UTF8 编码,但我总是这样做)然后:
psql -d mydb -f db.sql
正如我正在回答的那样,JohnP 只是回答了一个很好的答案,但假设它
pg_hba.conf
已被编辑为允许远程连接并postgres.conf
已被编辑为在网络上收听。也许最简单的方法是从旧服务器进行完整转储,然后将结果直接传送到新服务器。像这样:
以超级用户身份执行此操作。默认情况下,
postgres
用户是超级用户,但您可能已经创建了其他用户。更新:如果您在不同服务器版本之间移动数据,请使用最新版本的 pg_dump,很可能是新服务器上的 pg_dump。
上次我不得不做这样的任务时,我使用了名为“GeoKettle”的免费 ETL 工具
http://www.spatialytics.org/projects/geokettle/
一开始看起来有点吓人,但是对于服务器到服务器的复制,您需要做的就是将一个表格输入拖到您的工作台上,将一个表格拖到您的工作台上,将它们连接在一起,然后双击每个并将它们配置为必需的。
完成后,您将保存转换,并在您需要时运行它。
要运行它,请加载您的转换并单击运行按钮。假设一切正常并且配置正确,您应该可以相对快速地传输数据。
如果您不需要处理空间数据,那么您可以使用称为“Pentaho”的非空间版本,但由于 GeoKettle 可以做 Pentaho 可以做的所有事情,而且 GeoKettle 是 2 中最好的。
您将需要一天的时间来适应该应用程序,但是一旦您完成后,您会发现一切都非常简单且可重复使用。
我现在使用该应用程序从各种不同的服务器复制到其他不同的服务器以及批量加载各种数据。