postgresql运维之远程迁移操作

 更新时间:2021年01月12日 14:21:43   作者:怠惰的小小白  
这篇文章主要介绍了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~*符号的含义及用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL 10分区表及性能测试报告小结

    PostgreSQL 10分区表及性能测试报告小结

    PostgreSQL的分区表跟先前版本一样,也要先建立主表,然后再建立子表,使用继承的特性,但不需要手工写规则了,目前支持range、list分区,10正式版本发布时不知会不会支持其它方法,感兴趣的朋友跟随小编一起看看吧
    2022-01-01
  • PostgreSQL 实现定时job执行(pgAgent)

    PostgreSQL 实现定时job执行(pgAgent)

    这篇文章主要介绍了PostgreSQL 实现定时job执行(pgAgent),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Mybatis调用PostgreSQL存储过程实现数组入参传递

    Mybatis调用PostgreSQL存储过程实现数组入参传递

    这篇文章主要介绍了mybatis调用postgresql自定义函数传递数组参数的解决方案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • PostgreSQL 字符串处理与日期处理操作

    PostgreSQL 字符串处理与日期处理操作

    这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • PostgreSQL 使用raise函数打印字符串

    PostgreSQL 使用raise函数打印字符串

    这篇文章主要介绍了PostgreSQL 使用raise函数打印字符串,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 基于pgrouting的路径规划处理方法

    基于pgrouting的路径规划处理方法

    这篇文章主要介绍了基于pgrouting的路径规划处理,根据pgrouting已经集成的Dijkstra算法来,结合postgresql数据库来处理最短路径,需要的朋友可以参考下
    2022-04-04
  • PostgreSQL 添加各种约束语法的操作

    PostgreSQL 添加各种约束语法的操作

    这篇文章主要介绍了PostgreSQL 添加各种约束语法的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • PostgreSQL分区表(partitioning)应用实例详解

    PostgreSQL分区表(partitioning)应用实例详解

    这篇文章主要为大家详细介绍了PostgreSQL分区表(partitioning)应用实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • springboot 没法扫描到repository的解决

    springboot 没法扫描到repository的解决

    这篇文章主要介绍了springboot 没法扫描到repository的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论