zoukankan      html  css  js  c++  java
  • postgresql之物理复制与逻辑复制_异步流复制部署

    ------------恢复内容开始------------

    --物理复制,也称为流复制(streaming replication),通过流复制复制一个一模一样的备库

    --逻辑复制,也称之为选择性复制,可以做到基于表级别的复制,pg10之前的不支持内置的逻辑复制,pg10以后有支持内置的逻辑复制

    WAL日志记录数据库的变化,流复制和逻辑复制都是基于wal的,流复制基于wal物理复制,逻辑复制基于wal逻辑解析

    异步流复制部署

    配置postgresql.conf文件

    wal_level = replica

    archive_mode = on

    archive_command ='/bin/date'

    max_wal_senders = 10

    wal_keep_segments = 512

    配置主,备库pg_hba.conf文件

    host replication repuser 192.168.12.10/32 trust
    host replication repuser 192.168.12.11/32 trust

    创建流复制用户

    postgres=# create user repuser replication login connection limit 5 encrypted password 'Aa123456';
    CREATE ROLE

     在主库执行(主库发起一个在线备份,执行成功后将文件拷贝至备节点)

    postgres=# select pg_start_backup('france_bk1');
    tar czvf data.tar.gz data --exclude=data/pg_wal
    scp data.tar.gz postgres@192.168.12.11:/home/postgres

    主库执行以下命令:

    postgres=# select pg_stop_backup();
    Sun Oct 31 23:29:04 EDT 2021
    Sun Oct 31 23:29:04 EDT 2021
    NOTICE:  pg_stop_backup complete, all required WAL segments have been archived
     pg_stop_backup
    ----------------
     0/B000130
    (1 row)

    在备库配置recovery.conf文件

    [postgres@localhost ~]$ cat /database/pg10/pg_root/recovery.conf
    
    standby_mode = on
    
    #primary_conninfo = 'host=192.168.12.10 port=1921 user=repuser password=Aa123456'
    primary_conninfo = 'host=192.168.12.10 port=1921 user=repuser'
    recovery_target_timeline = 'latest'

    配置 ~/.pgpass文件,注意最好不要把密码写在recovery.conf文件中

     最开始配置pgpass脚本没有在正确目录。或者recovery.conf文件中没有写入密码就会有以下报错

     配置完~/.pgpass文件之后启动备库

    在主机上查看备库是否存在,并建立测试表

     

    在备机上查看,并且测试创建表,出现以下报错(只支持读)

     

    注意:备库的postgresql.conf的hot_standy=on才支持查询操作,调整此参数后重启生效,如果设置成off就会出现以下报错

  • 相关阅读:
    教准备租房的同学如何避开坑!
    mvc3中controler和view之间的数据传递
    WebMail发送邮件
    mvc Razor视图语法与Aspx视图语法对比
    SQL Server sql分页查询
    WCF之一
    C++总结笔记(一)抽象、多态、继承
    Perl脚本学习经验(二)常用命令举例
    makefile学习经验(四)编译生成动态库文件(方式二)
    makefile学习经验(三)编译生成动态库文件(方式一)
  • 原文地址:https://www.cnblogs.com/LuoYao666/p/15469424.html
Copyright © 2011-2022 走看看