【问题标题】:Migrating Enterprise Postgresql schema to Free Postgresql [closed]将 Enterprise Postgresql 模式迁移到 Free Postgresql [关闭]
【发布时间】:2015-06-18 18:32:31
【问题描述】:

问题:难道我们不能做一些简单的事情,比如从企业版导出架构并能够在 Postgresal 的免费版本中恢复它吗?而且,我找不到显示/比较两者之间支持的字段类型的页面,如果存在链接,有人可以发布链接吗?

如果直接转储和恢复不是一个选项,那么我需要关于如何使开发环境同步的建议。我们有数百个表、模式、序列等,我没有时间坐在这里并通过系统 1 逐个检查每个列名和配置、表等,因为我被告知这不是其中之一我要做的任务。

环境: 生产环境使用 Enterprise PostgreSql,开发环境使用免费版 PostgreSql。我们没有 DBA 来回答我的问题。

问题:架构不匹配,我需要将生产架构带到开发环境中,这样我才能对我要工作的环境有信心。 SA 告诉我,他之前曾尝试过这样做,但将 Enterprise 模式带入 dev 是不兼容的。我不明白为什么这是个问题。

【问题讨论】:

  • 也许你应该问一下 SA 为什么不可能,有什么问题。其他人是不可能给出答案的。 PostgreSQL 就是 PostgreSQL,模式是一样的。如果不可能,那肯定还有其他事情发生。
  • 使用 pg_dumppg_restore 应该做你想做的事,除非你在 EnterpriseDB 中使用 Postgres 中不可用的功能,例如 PL/SQL 过程或常规 Postgres 没有的数据类型有
  • @SamiKuhmonen 我曾向 SA 询问错误是什么,他说他不知道为什么。他无权访问生产数据库。我没有访问权限,它由异地管理。在尝试完成这些基本任务时,这里的一切都是一座鼹鼠山。
  • @a_horse_with_no_name 我只需要他们给我 dmp,这样我就可以自己尝试看看发生了什么。我认为是的,我们只需要一个简单的转储和恢复。祈祷我这周可以得到一个 dmp 文件。
  • 您应该添加确切的版本以及它们是什么产品,PostgreSQL 没有免费和企业版。有一家 EnterpriseDB 公司,它提供付费/免费版的 pg 分支。可以参考wiki.postgresql.org/wiki/PostgreSQL_derived_databases

标签: database postgresql database-migration enterprise


【解决方案1】:

PostgreSQL 没有“企业版”之类的东西。 PostgreSQL 不是“开放核心”或“免费增值”。它是一个开源项目和开源产品。这就是为什么您找不到有关企业版的太多信息的原因——它不存在。

我想你可能在谈论EnterpriseDB Postgres Plus Advanced Server。如果您不确定,请在感兴趣的服务器上运行SELECT version()

这是 与 PostgreSQL 不同的东西,PostgreSQL 是一种基于 PostgreSQL 的闭源商业产品。它具有对 PostgreSQL 功能和语法的扩展,这意味着 EDB PPAS 数据库与社区 PostgreSQL 不兼容,尽管社区 PostgreSQL 数据库通常(总是?)与 PPAS 兼容。 postgresql.org 社区,除了为 EDB 工作的人外,无法访问 PPAS 的源代码,对其功能和语法等没有影响。

如果您使用 PPAS,则需要在整个环境中一致地使用它。或者您只需要在社区 PostgreSQL 中开发,避免使用 PPAS 中可能导致转储向后不兼容的功能,并在从 PPAS 创建转储时使用社区 PostgreSQL 的pg_dump

EDB 将能够告诉您更多信息,如果您实际上使用的是他们的产品,而不是像 Greenplum 这样的其他 3rd 方分支。见:http://forums.enterprisedb.com/

请注意,PPAS 只是几个流行的PostgreSQL-derived products 之一,包括:

  • Greenplum 数据库
  • ParAccel,现在由 Amazon Redshift 使用

但 EDB PPAS 是唯一真正与核心 PostgreSQL 保持同步并保持合理兼容的唯一一个。


(披露:我为 EnterpriseDB 的竞争对手工作,如我的个人资料所示,我为社区 PostgreSQL 做出了贡献)

【讨论】:

  • 你是对的。我告诉 SA,我找不到任何名为 Postgresql 企业版的东西,他纠正自己说它被称为 EnterpriseDB Postgres ...... .另外,我只能访问本地 Postgresql 的 EnterpriseDB。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-12
  • 2018-07-19
  • 2010-09-06
  • 1970-01-01
  • 2012-02-28
  • 1970-01-01
  • 2018-11-01
相关资源
最近更新 更多