从一个postgresql实例复制一个表空间到另一个实例[英] Copying a tablespace from one postgresql instance to another

本文是小编为大家收集整理的关于从一个postgresql实例复制一个表空间到另一个实例的处理方法,想解了从一个postgresql实例复制一个表空间到另一个实例的问题怎么解决?从一个postgresql实例复制一个表空间到另一个实例问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在寻找一种方法来快速将数据库从1个PostgreSQL Server到另一台数据库.

假设...

  • 我有一个在Hosta上运行的PostgreSQL服务器,服务2个数据库
  • 我有2个安装在Hosta上的设备,每个设备都存储一个数据库的数据(即1个数据库=> 1 table spess => 1设备)
  • 我能够通过一些仔细的方法获得"安全"的时间点快照
  • 我能够始终安全地生产使用的两个设备中的任何一个(我什至可以假设两个数据库都只收到读取)
  • )
  • 涉及的主机是CentOS 5.4

是否可以在主机上托管第二个PostgreSQL Server,安装克隆设备之一并将相应的数据库置于" pop"状态? (就像在mysql中复制myisam表文件时一样).

如果这完全可能,那是什么机制(即我应该查看什么DDL或PG命令)?

对我来说,能够相互隔离地移动各个数据库很重要.但是,如果不可能,类似的方法会在服务器级别上工作(试图通过将datadir复制到具有相同PostgreSQL安装的主机来克隆和重生服务器)?

)?

推荐答案

不容易,因为数据库之间有许多文件,这意味着同一安装中的每个数据库都取决于此.

您可以在服务器级别或群集级别进行操作,但不能在单个数据库级别进行.只需确保在整个数据目录和所有外部表格上复制/克隆即可.只要您可以在原子上制作克隆(在相同的文件系统上或使用可以在文件系统上执行原子克隆的系统),您甚至不需要停止Hosta上的数据库来执行此操作.

本文地址:https://www.itbaoku.cn/post/1764079.html