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

标签 postgresql amazon-ec2 amazon-ebs tablespace

我在 Amazon EC2 实例上运行了 postgres 数据库。我创建的表空间很少 一些月表,这样每个表都在单独的表空间上。为了获得最佳性能,我在单独的 amazon ebs 卷上创建了每个表空间。

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

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

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

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

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

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

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

我知道我的写作生疏了,但找不到更好的方式来提出问题。

沿着这些路线的事情是可能的吗?是否有任何指示可以实现这样的目标?

最佳答案

没有。

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

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

关于postgresql - 跨 EC2 实例移动 Postgres 表空间和表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3534415/

相关文章:

postgresql - 什么时候应该使用 postgresql 10 声明式分区功能?

postgresql - 在 knex 迁移中运行更新

postgresql - 多态关联外键约束。这是一个好的解决方案吗?

amazon-ec2 - 在 create-snapshot 返回后直接 fsfreeze --unfreeze 可以吗?

amazon-s3 - 为什么我无法从 AWS 管理控制台查看 S3 中的 EBS 卷快照?

sql - 计算其他表中的值

amazon-ec2 - 如何安全地将 Amazon EC2 实例从 t1.micro 升级到大型?

amazon-web-services - 从 ElasticBeanstalk EC2 到 Redis (ElastiCache) 的连接失败

amazon-web-services - 为 AWS 负载均衡器启用 mod_ssl

Mysql 和高 CPU IO 等待