【问题标题】:PostgreSQL schema migration?PostgreSQL 模式迁移?
【发布时间】:2018-07-19 04:31:17
【问题描述】:

我有本地 PostgreSQL 数据库,其中包含表、约束、关系等。

如何将其迁移到生产服务器?

【问题讨论】:

  • 为什么不 pg_dump 和恢复?..
  • @VaoTsun 使用 pg_dump 时出现以下错误:pg_dump: server version: 9.6.5; pg_dump version: 9.5.10pg_dump: aborting because of server version mismatch
  • @a_horse_with_no_name liquibaseflyway 是不错的方法,但我正在开发我的应用程序。这些工具必须从开发应用程序开始就使用(将每个sql脚本放入文件并存储它们)
  • @DauletNurgali 您尝试在新服务器上使用旧的 pg_dump - 而您应该做相反的事情。尝试locate bin/pg_dump 找到 9.6 版本的 pg_dump

标签: postgresql schema-migration


【解决方案1】:

pg_dump 手册页您可以尝试使用 pg_dumppsql,您还可以检查其他 flags 以获取数据、模式或表具体任务。我个人有时会使用NavicatpgAdmin 客户端来完成此类工作。

要将名为 mydb 的数据库转储到 SQL 脚本文件中:

$ pg_dump mydb > db.sql

要将这样的脚本重新加载到名为 newdb 的(新创建的)数据库中:

$ psql -d newdb -f db.sql

【讨论】:

    【解决方案2】:

    尝试使用flyway。它正是这样做的。将您的架构转储到一个 sql 文件中并使用flyway 进行迁移。

    【讨论】:

      猜你喜欢
      • 2019-07-12
      • 2010-12-30
      • 2015-06-18
      • 2018-11-01
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 2019-09-09
      相关资源
      最近更新 更多