postgresql运维之远程迁移操作_PostgreSQL

来源:脚本之家  责任编辑:小易  

背景:高可用架构版本。

主备分别部署在机器A和B上,现在要将其分别迁移到机器C和D上。

思路:

1、首先根据源实例的备份(云盘上可用snapshot),创建一个mirror实例,mirror包含两个节点,分别部署在C和D上。

2、在源实例主节点hba.conf中增加mirror主节点的ip的设置,允许源实例主节点接受来自mirror主节点的连接。

3、mirror实例主节点,创建recovery.conf文件,设置primary_conninfo指向源主节点。启动mirror主节点,建立源实例主到mirror实例主节点的复制关系。

4、在mirror实例主节点hba.conf中增加mirror备节点的ip。允许mirror主节点接受来自mirror备节点的连接。

5、mirror实例备节点,创建recovery.conf文件,设置primary_conn指向mirror实例主节点。启动备节点,建立mirror实例主节点到mirror实例备节点的复制关系。

6、提升mirror实例主节点为cluster master。

postgresql 备提升为主的方式:

pg_ctl方法:在备库主机执行pg_ctl promote shell脚本

触发器文件方式:备库配置recover.conf文件的trigger_file参数,之后在备库主机上创建触发器文件。

补充:Postgresql迁移数据文件存放位置

1. POSTGRESQL的安装

centos7 里面默认的pgsql的版本是 9.2.4 如果想用更高的版本需要执行以下如下的命令

rpm -ivh https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm

安装成功后进行安装

yum install postgresql11
yum install postgresql11-server

然后启动并且设置为开机启动

systemctl enable postgresql-11 
systemctl start postgresql-11

启动之后进行数据库初始化

11 以上的系统 还是比较简单的 直接执行

postgresql-setup initdb 就可以初始化数据库

设置密码等工作

su - postgres

登录数据库

psql -U postgres

修改密码

ALTER USER postgres WITH PASSWORD 'Test6530' 设置密码 

\q退出数据库

2. 修改数据库使之能够被远程链接

数据库的配置文件默认为:

查看服务状态可得

进入 data目录

/var/lib/pgsql/11/data/
/usr/lib/systemd/system/postgresql-11.service
cd /var/lib/pgsql/11/data/

修改pg_hba.conf 即可

3. 创建新的数据目录

mkdir /home/pgdata

4.关闭pgsql

systemctl stop postgresql-11

5. 复制原来的文件

cp -R /var/lib/pgsql/11/data/* /home/pgdata

6.修改权限

chown -R postgres:postgres /home/pgdata
chmod 750 /home/pgdata -R

7. 修改systemd 里面的配置文件

vim /usr/lib/systemd/system/postgresql-11.service

修改PGDATA的指向

8.执行命令重启

systemctl daemon-reload
systemctl start postgresql-11

9. 删除原始PGDATA 里面的内容 重启虚拟机验证。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持真格学网。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:postgreSQL自动生成随机数值的实例使用postgresql 模拟批量数据插入的案例postgreSQL数据库默认用户postgres常用命令分享PostgreSQL的中文拼音排序案例关于PostgreSQL 行排序的实例解析PostgreSQL中的template0和template1库使用实战PostgreSQL 启动失败的解决方案解决postgresql无法远程访问的情况

  • 本文相关:
  • postgresql时间线(timeline)和history file的用法
  • 详解postgresql数据库对象信息及应用
  • postgresql的upsert实例操作(insert on conflict do)
  • postgresql 主备数据宕机恢复测试方案
  • 使用postgresql 实现快速插入测试数据
  • postgresql运维之远程迁移操作
  • 查看postgresql数据库用户系统权限、对象权限的方法
  • postgresql中使用数组改进性能实例代码
  • postgresql pg_archivecleanup与清理archivelog的操作
  • postgresql 跨库同步表及postgres_fdw的用法说明
  • postgresql怎么设置远程连接
  • 如何远程连接POSTGRESQL数据库
  • 如何从SQLServer 迁移数据 到PostgreSQL
  • 如何配置来完成PostgreSQL数据库远程连接
  • postgresql从一个数据库转到另一个数据库有没有方...
  • 如何运行远程客户端连接postgresql数据库
  • 怎样将postgresql数据迁移到oracle中
  • postgresql 实现主备节点故障转移
  • postgresql 怎么设置允许远程访问
  • 如何移动PostgreSQL的数据目录移到新位置上的Ubunt...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页postgresql自动生成随机数值的实例使用postgresql 模拟批量数据插入的案例postgresql数据库默认用户postgres常用命令分享postgresql的中文拼音排序案例关于postgresql 行排序的实例解析postgresql中的template0和template1库使用实战postgresql 启动失败的解决方案解决postgresql无法远程访问的情况postgresql时间线(timeline)和history file的用法详解postgresql数据库对象信息及应用postgresql的upsert实例操作(insert on conflict do)postgresql 主备数据宕机恢复测试方案使用postgresql 实现快速插入测试数据postgresql运维之远程迁移操作查看postgresql数据库用户系统权限、对象权限的方法postgresql中使用数组改进性能实例代码postgresql pg_archivecleanup与清理archivelog的操作postgresql 跨库同步表及postgres_fdw的用法说明postgresql 角色与用户管理介绍windows下postgresql数据库的下载windows下postgresql安装图解15个postgresql数据库实用命令分postgresql中的oid和xid 说明postgresql alter语句常用操作小windows postgresql 安装图文教程postgresql 安装和简单使用postgresql 创建表分区postgresql新手入门教程postgresql重置序列起始值的操作解决postgresql日志信息占用磁盘过大的问postgresql 使用timestamp转成date格式postgresql error: invalid escape strin浅谈postgresql 11 新特性之默认分区浅谈postgresql中大小写不敏感问题postgresql 实现distinct关键字给单独的几浅谈postgresql消耗的内存计算方法postgresql教程(八):索引详解在postgresql中运行sql文件并导出结果的操
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved