在EC2实例之间移动Postgres表空间和表

2010-08-21 postgresql amazon-ec2 amazon-ebs tablespace

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

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

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

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

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

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

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

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

我知道我在写作时很生疏,但是找不到更好的方法来提问。

这些路线是否有可能?是否有实现此类目标的指标?

Answers

没有。

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

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

Related