postgresql13主从搭建Ubuntu

数据库安装基本设置

先安装完数据库以后,安装路径如下:

数据库安装完毕以后,

服务的安装路径为:/usr/lib/postgresql/13/bin/

数据路径为:/var/lib/postgresql/13/main/

配置文件路径为:/etc/postgresql/13/main/

pg_hba.config路径为:/etc/postgresql/13/main/postgresql.conf
# postgres用户密码修改
#修改postgres密码为123456
passwd postgres
#在输入密码的位置输入密码123456
#切换到postgres用户
su - postgres
#修改数据库账号postgres的密码为123456
psql -c "alter user postgres with passWord '123456';"
exit

设置环境变量

vi /etc/profile
在最后增加
export PGDATA=/var/lib/postgresql/13/main/
export PATH=$PATH:$HOME/bin:$PGDATA:/usr/lib/postgresql/13/bin
保存后,使环境变量立即生效
source /etc/profile

postgresql13主从搭建Ubuntu

#设置允许远程连接
#编辑postgresql.conf配置文件
vi /etc/postgresql/13/main/postgresql.conf
#增加允许任何用户连接,新增 listen_addresses = '*'
#设置从库复制槽名称为pgstandby1,设置了复制槽名称以后,复制流将由异步变为同步
synchronous_standby_names = 'pgstandby1'
#保存修改
Esc
:wq

postgresql13主从搭建Ubuntu

postgresql13主从搭建Ubuntu

#修改配置文件pg_hba.conf,设置访问规则
#编辑pg_hba.conf配置文件
vi /etc/postgresql/13/main/pg_hba.conf
#新增 host all all 0.0.0.0/0 md5 访问规则,并修改加密方式为md5(设置允许任何客户端远程连接)
#新增 host    replication     replica         192.168.31.130/32       trust(设置允许replica用户由主库复制到从库,其中ip为从库的ip)
#保存修改
Esc
:wq

postgresql13主从搭建Ubuntu

主库创建流复制的用户

su - postgres
psql -c "CREATE ROLE replica login replication encrypted password 'replica'";
exit;
systemctl restart postgresql

至此,主库设置就完成了,介于将来主库、从库会进行提级和降级操作或者主从互换操作,所以建议对从库也进行相同的主库设置

从库设置+从主库进行数据流复制

pg_basebackup -h 192.168.31.129 -D $PGDATA -U replica -P -X stream -R -C -S pgstandby1

其中: 

-h指向主库的ip,

-D指数据从主库复制到从库的路径

-U指用户名,即从库以replica的用户进行流复制

-P表示显示流复制的过程

-X表示复制方式,stream表示以流的方式进行

-R表示创建一个standby.signal文件,该文件作为一个从库的标识文件,存在此文件,则表示从库

-C指定在启动备份之前应创建由--slot选项命名的复制插槽。如果插槽已存在,则会引发错误。即pgstandby1表示插槽的名称。主库、备库指定插槽名称后,流复制为同步复制,否则为异步复制。

从库进行数据流复制之后,重启从库,主从模式正式工作

systemctl restart postgresql

注:ubuntu上使用仓库安装的postgresql从库启动,必须要使用systemctl重启,无法通过pg_ctl进行。

这时,就可以看到备库服务器上自动生成了standby.signal文件。同时,也看到在$PGDATA路径下,数据库自动帮我们配置了关于流复制的主库的信息:

$ cat $PGDATA/postgresql.auto.conf
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
#primary_conninfo = 'user=replica passfile=''/var/lib/postgresql/.pgpass'' channel_binding=prefer host=192.168.31.129 port=5432 sslmode=prefer sslcompression=0 sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres target_session_attrs=any'
primary_conninfo = 'user=replica host=192.168.31.129 port=5432 application_name=pgstandby1'
primary_slot_name = 'pgstandby1'

查看主从运行状态

主从搭建后,主库运行状态为: ps -ef|grep postgres

postgresql13主从搭建Ubuntu

可以看到有一个walsender在向从库发送

从库运行状态为:

postgresql13主从搭建Ubuntu

可以看到有一个walreceiver在接收数据,startup recovering 000000030000000000000030也是从库的标识

通过SQL语句查看主从信息:

select * from pg_stat_replication;
select application_name, client_addr, sync_state from pg_stat_replication;
//查询复制插槽名称
SELECT * FROM pg_replication_slots
//下面这句话是删除pgstandby1复制插槽的语句
select pg_drop_replication_slot('pgstandby1');

主备切换

备->主

#在备库下执行命令
pg_ctl promote

主->备

# 在数据库的数据路径下$PGDATA,新增一个standby.signal文件
touch standby.signal
同时,也看到在$PGDATA路径下,编辑postgresql.auto.conf的主库的信息:
$ vi $PGDATA/postgresql.auto.conf
# Do not edit this file manually!
# It will be overwritten by the ALTER SYSTEM command.
primary_conninfo = 'user=replica host=192.168.31.130 port=5432 application_name=pgstandby1'
primary_slot_name = 'pgstandby1'
wq
#重启新备库启动
systemctl restart postgresql

以上就是postgresql13主从搭建Ubuntu的详细内容,更多关于postgresql13 主从搭建的资料请关注我们其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: postgresql13主从搭建Ubuntu

本文链接: https://www.lsjlt.com/news/173553.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • postgresql13主从搭建Ubuntu

    目录数据库安装基本设置设置环境变量主库创建流复制的用户从库设置+从主库进行数据流复制从库进行数据流复制之后,重启从库,主从模式正式工作查看主从运行状态主备切换备->主主->备数据库安装基本设置先安装完数据库以后,安装路径如下:数据库安装完
  • PostgreSQL13基于流复制搭建后备服务器的方法

    这篇文章主要介绍了PostgreSQL13基于流复制搭建后备服务器,后备服务器作为主服务器的数据备份,可以保障数据不丢,而且在主服务器发生故障后可以提升为主服务器继续提供服务。需要的朋友可以参考下
  • 教你如何在Centos8-stream安装PostgreSQL13

    这篇文章主要介绍了Centos8-stream安装PostgreSQL13,初始化PostgreSQL需要先创建postgresql储存目录,启动postgresql数据库,本文给大家介绍的非常详细,需要的朋友可以参考下
  • PostgreSQL 13 new feature

    https://www.postgresql.org/docs/13/release-13.html 1. A big performance leap from 10 to 11. No much difference between 11 and 12 i
    阅读数:955 PostgreSQL 13 new feature
  • POSTGRESQL10.8怎么用源码安装主从搭建

    本篇内容介绍了“POSTGRESQL10.8怎么用源码安装主从搭建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、下载POSTGRESQL
    阅读数:519 postgresql
  • POSTGRESQL10.3源码如何安装主从搭建

    这篇文章将为大家详细讲解有关POSTGRESQL10.3源码如何安装主从搭建,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、下载POSTGRESQL源码安装包及主机配置https://www.postg
    阅读数:456 postgresql10.3
  • PostgreSQL源码学习--调度器#13

    本节介绍PortalRunMulti函数。PortalRunMulti函数static voidPortalRunMulti(Portal portal, bool isTopLevel, bool setHoldSnapshot, DestRecei
  • 主从搭建

    1.创建主从1.1 前提条件主从MySQL都开启binlog,并且保证server-id唯一[mysqld]log-bin=mysql-binserver-id=10086After making the changes, restar
    阅读数:637 mysql5.7 主从搭建
  • POSTGRESQL10.3RPM包如何实现主从搭建

    这篇文章主要介绍POSTGRESQL10.3RPM包如何实现主从搭建,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、POSTGRESQL主从复制搭建1、安装POSTGRESQLPGSQL10.3下载地址:htt
    阅读数:525 postgresql10.3 rpm
  • Xtrabackup搭建主从

    利用innobackupex搭建MySQL从库知识准备:1、在备份InnoDB的过程中,记录的变更保存于xtrabackup_logfile文件,所以在prepare(–apply-log)的时候,需要重放该部分数据到表空间。2、如果库中只
    阅读数:113 xtrabackup aba
  • Mysql主从搭建

    Mysql主从搭建 操作系统:[root@localhost ~]# cat /etc/redhat-release CentOS release 6.8 (Final) Master(
    阅读数:911 mysql 主从搭建
  • MYSQL主从环境搭建

    服务器:192.168.11.131master192.168.11.132slave服务器系统# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 1、下面安装过
    阅读数:543 mysql 主从 环境搭建
  • PostgreSQL13+PostGIS31安装手册

    之前整理的是PostgreSQL9和PostGIS2的安装手册,最近在安装PostgreSQL13时发现由于版本过新,安装步骤略有不同,这里简单记录一下安装过程.一 各软件包版本依赖关系检查检查PostGIS、PostgreSQL、GEOS、GDAL、PROJ
  • PostgreSQL12-主从复制

    注意:PostgreSQL 12对主从复制实现和配置做了重大改进,如废弃了recovery.conf,并将参数转换为普通的PostgreSQL配置参数,使得配置群集和复制更加简单。PostgreSQL数据库支持多种复制解决方案,以构建高可用性,可伸缩,容错的应
    阅读数:951 PostgreSQL12-主从复制
  • 生产环境postgresql主从环境配置

    主从服务器IP:192.168.11.131 postgreSQL master192.168.11.132 postgreSQL slave服务器系统版本:# cat /etc/redhat-release Red Hat Enterpr
    阅读数:581 postgresql 环境配置 gr
  • postgresql12 主从复制

    前言 PostgreSQL 12 的一个重要变化是 recovery.conf 配置文件中的参数合并到 postgresql.conf,recovery.conf 不再使用 ; 参见:https://www.postgresql.org/docs/releas
    阅读数:715 postgresql12 主从复制
  • Mysql主从复制搭建

    1.mysql主库会把所有的写操作记录在binlog日志中,并且生成log dump线程,将binlog日志传给从库的I/O线程,从库生成两个线程,一个是I/O线程,另外一个是SQL线程。主将更改操作记录到binlog里从将主的binlog事件(sql语句)
    阅读数:683 Mysql主从复制搭建
  • MySQL基于GTID主从搭建

    目录一、用xtarbackup备份数据库1.1 优势1.2 安装1.3 使用1.3.1 普通备份1.3.2 tar备份1.3.3 xbstream备份1.3.4 恢复二、基于GTID做数据同步2.1 GTID的概念2.2 GTID的组成2.
    阅读数:834 MySQL GTID MySQL主从搭建
  • MySQL主从搭建与配置

    MySQL主从(MySQL replication),主要用于MySQL的实时备份或者读写分离。在配置之前先做一下准备工作,配置两台MySQL服务器,如果你的机器不能同时跑两台Linux虚拟机,那么可以考虑在同一个机器上跑两个MySQL服务
    阅读数:692 mysql 主从
  • 基于GTID 的主从搭建

    备注:此处搭建的为一主多从。环境:centos7+MySQL5.7主:192.168.162.134从1:192.168.162.133从2:192.168.162.135安装参照:http://liyingdi.blog.51cto.co
    阅读数:161 一主 多从 %d