PostgreSQL 迁移和恢复
PostgreSQL migration and restore
我有一个 PostgreSQL v7.3 安装,我需要毫不费力地将它迁移到更新、资源丰富且速度更快的机器上,该机器已经安装了 PostgreSQL 9.1。 13个安装。我有我使用的 v7.3 版本的源代码,如果编译和安装(足够简单)将使它非常简单(假设首先从那里撬开 9.1.13 不是问题),但如果可能的话,我更愿意使用较新的版本。
我在新机器上有 v7.3 pgsql 目录作为旧机器的副本,目前与这台机器上的 PostgreSQL 没有关联。
数据集中有很多个数据库,其中一些是存档的,因为它们多年未被使用,但我非常想保留他们。
None 其中使用触发器;它们非常基本。包含列的表,每个表有几个索引。
我知道您可以将一个 DB 输出到 SQL,然后将其提供给新安装,但这对我来说感觉非常艰巨、细节密集且耗时。
是否有一次性完成此操作的方法?
pg_dump
是单个数据库的正常答案,pg_upgrade
在同一台机器上做整个集群,但只适用于 >=8.3。如果所有这些都失败,pg_dumpall
会将服务器上的所有数据库 pg_dump
放入单个输出流中。
我有一个 PostgreSQL v7.3 安装,我需要毫不费力地将它迁移到更新、资源丰富且速度更快的机器上,该机器已经安装了 PostgreSQL 9.1。 13个安装。我有我使用的 v7.3 版本的源代码,如果编译和安装(足够简单)将使它非常简单(假设首先从那里撬开 9.1.13 不是问题),但如果可能的话,我更愿意使用较新的版本。
我在新机器上有 v7.3 pgsql 目录作为旧机器的副本,目前与这台机器上的 PostgreSQL 没有关联。
数据集中有很多个数据库,其中一些是存档的,因为它们多年未被使用,但我非常想保留他们。
None 其中使用触发器;它们非常基本。包含列的表,每个表有几个索引。
我知道您可以将一个 DB 输出到 SQL,然后将其提供给新安装,但这对我来说感觉非常艰巨、细节密集且耗时。
是否有一次性完成此操作的方法?
pg_dump
是单个数据库的正常答案,pg_upgrade
在同一台机器上做整个集群,但只适用于 >=8.3。如果所有这些都失败,pg_dumpall
会将服务器上的所有数据库 pg_dump
放入单个输出流中。