我在 Amazon EC2 实例上运行了 postgres 数据库。我创建的表空间很少 一些月表,这样每个表都在单独的表空间上。为了获得最佳性能,我在单独的 amazon ebs 卷上创建了每个表空间。
我想将其中一些表移动到不同的实例和数据库。我将用一个例子来解释它。 让我们说。
我有 EC2 实例 A,如上所述设置了 postgres。
我有另一个 Amazon 实例 B 正在运行,我也在其上安装了 postgres。
我想为 B 上 A 中存在的一些表创建相同的表结构。我想从实例 A 分离卷并将其附加到实例 B。
另外,我想在实例 B 上创建表空间,它将指向新附加的卷。
当我启动这个新创建的 postgres 时,我希望看到表中填充了来自这些卷(数据库)的数据。
最后我将从 A 中删除那些表
我知道我的写作生疏了,但找不到更好的方式来提出问题。
沿着这些路线的事情是可能的吗?是否有任何指示可以实现这样的目标?
最佳答案
没有。
表空间目录中的数据只是数据。您还需要 pg_catalog 模式表中的元数据,以及来自 pg_clog 和 pg_xlog 的信息来访问它。
如果你想使用卷移动东西,你必须一次移动整个安装(所有表空间,包括 pg_default)。否则,您需要使用 pg_dump/pg_restore 将数据传输过来。
关于postgresql - 跨 EC2 实例移动 Postgres 表空间和表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3534415/