2010-08-20 28 views
3

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

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

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

  2. 我有另一个亚马逊实例B运行,我也安装了postgres。

  3. 我想创建相同的表结构对于一些我要从中分离实例的卷,并将其附加到实例B.

  4. 同样存在于在B上的表,我想在实例B上创建表空间,它将指向新连接的卷。

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

  6. 最后我将从

我知道我是在写生锈删除这些表,但无法找到一个更好的方式来问这个问题。

沿着这些路线是可能的吗?有没有任何指针来实现这样的事情?

回答

1

编号

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

如果要使用卷移动物体,则必须立即移动整个安装(所有表空间,包括pg_default)。否则,您需要使用pg_dump/pg_restore传输数据。