我在Amazon EC2实例上运行了postgres数据库。我创建的表空间很少 一些月度表,这样每个表都在单独的表空间上。为了获得最大性能,我在各个amazon ebs卷上创建了每个表空间。
我想将这些表中的一些移动到不同的实例和数据库。我将用一个例子来解释它。 让我们说。
我有如上所述的postgres设置的EC2实例A.
我有另一个亚马逊实例B正在运行,我也在其上安装了postgres。
我想为B上的A中的某些表创建相同的表结构。我想从实例A中分离卷并将其附加到实例B.
另外,我想在实例B上创建表空间,它将指向新连接的卷。
当我启动这个新创建的postgres时,我希望看到表中填充了这些卷(数据库)中的数据。
最后我将从A
我知道我的写作生锈了,但找不到更好的方式来提问。
这些方面的内容是否可行?是否有任何指针可以实现这样的目标?
答案 0 :(得分:1)
没有
tablespace目录中的数据只是数据。您还需要pg_catalog模式中的表中的元数据,以及来自pg_clog和pg_xlog的信息来访问它。
如果要使用卷移动内容,则必须立即移动整个安装(所有表空间,包括pg_default)。否则,您需要使用pg_dump / pg_restore来传输数据。