3

我有在 Amazon EC2 实例上运行的 postgres 数据库。我为一些月度表创建了几个表空间,这样每个表都在单独的表空间上。为了获得最佳性能,我在单个 amazon ebs 卷上创建了每个表空间。

我想将其中一些表移动到不同的实例和数据库。我将用一个例子来解释它。可以说。

  1. 如上所述,我有带有 postgres 设置的 EC2 实例 A。

  2. 我有另一个 Amazon 实例 B 正在运行,并且我也在其上安装了 postgres。

  3. 我想为 B 上 A 中存在的一些表创建相同的表结构。我想从实例 A 中分离卷并将其附加到实例 B。

  4. 另外,我想在实例 B 上创建表空间,它将指向新附加的卷。

  5. 当我启动这个新创建的 postgres 时,我希望看到这些表中填充了来自这些卷(数据库)的数据。

  6. 最后我会从 A 中删除这些表

我知道我的写作生疏了,但找不到更好的方法来问这个问题。

沿着这些思路是可能的吗?是否有任何指示可以实现这样的目标?

4

1 回答 1

1

不。

表空间目录中的数据只是数据。您还需要 pg_catalog 模式中的表中的元数据,以及来自 pg_clog 和 pg_xlog 的信息来访问它。

如果您想使用卷移动内容,则必须一次移动整个安装(所有表空间,包括 pg_default)。否则,您需要使用 pg_dump/pg_restore 来传输数据。

于 2010-08-20T22:08:58.317 回答