跨EC2实例移动Postgres表空间和表

3
我在 Amazon EC2 实例上运行着一个 postgres 数据库。我创建了一些表空间来存储每个月的表格,以便每个表格都位于单独的表空间中。为了获得最大的性能,我将每个表空间都创建在单独的 Amazon EBS 卷上。
我想要将一些表格移动到不同的实例和数据库中。我将用一个例子来解释。
假设:
1. 我有一个名为 A 的 EC2 实例,上面安装了如上所述的 postgres。 2. 我还有另一个名为 B 的 Amazon 实例,上面也安装了 postgres。 3. 我想要在 B 中为一些在 A 上的表格创建相同的表结构。我想要从实例 A 中分离卷,并将其附加到实例 B 上。 4. 同样地,我想要在实例 B 上创建表空间,指向新附加的卷。 5. 当我启动这个新创建的 postgres 时,我希望能够看到来自那些卷(数据库)的数据填充到表格中。 6. 最后,我会从 A 中删除这些表格。
我知道我的写作有点生疏,但找不到更好的方式来提问。是否有可能做到这样?是否有任何实现这样事情的指针?
1个回答

1

不行。

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接