AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 23053
Accepted
Ashwin
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 3 个回答
  • 20017 Views

3 个回答

  • Voted
  1. 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已被编辑为在网络上收听。

    • 15
  2. 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。

    • 13
  3. 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 中最好的。

    您将需要一天的时间来适应该应用程序,但是一旦您完成后,您会发现一切都非常简单且可重复使用。

    我现在使用该应用程序从各种不同的服务器复制到其他不同的服务器以及批量加载各种数据。

    • 1

相关问题

  • 运行时间偏移延迟复制的最佳实践

  • Oracle 中的数据库备份 - 导出数据库还是使用其他工具?

  • 存储过程可以防止 SQL 注入吗?

  • PostgreSQL 中 UniProt 的生物序列

  • PostgreSQL 9.0 Replication 和 Slony-I 有什么区别?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve