【发布时间】:2010-01-22 01:32:54
【问题描述】:
我正在寻找一种将数据库从一台 postgresql 服务器快速“克隆”到另一台服务器的方法。
假设...
- 我有一个在 HostA 上运行的 postgresql 服务器,为 2 个数据库提供服务
- 我在 HostA 上挂载了 2 个设备,每个设备存储其中一个数据库的数据(即 1 个数据库 => 1 个表空间 => 1 个设备)
- 我能够通过一些谨慎的方法获得“安全”的时间点快照
- 我能够一致且安全地克隆所使用的 2 个设备中的任何一个(我什至可以假设这两个数据库都只接收读取)
- 涉及的主机是 CentOS 5.4
是否可以在 HostB 上托管第二个 postgresql 服务器,挂载其中一个克隆设备并让相应的数据库“弹出”存在? (有点像在 MySQL 中复制 MyISAM 表文件)。
如果这是可能的,那么机制是什么(即我应该研究什么 DDL 或 pg 命令)?
对我来说,能够独立移动各个数据库非常重要。但如果这不可能,类似的方法是否可以在服务器级别工作(尝试通过将 datadir 复制到具有相同 postgresql 安装的主机来克隆和重生服务器)?
【问题讨论】:
-
一般来说,这是可能的——我在 Debian Linux 上这样做。但我不知道所有平台的解决方案都是一样的。你在哪个平台上?
-
平台是 CentOS 5.4(添加到问题中)
标签: database postgresql tablespace