zoukankan      html  css  js  c++  java
  • postgresql11做归档


    apt-get install postgresql-11
    sudo -u postgres psql
    alter user postgres with password 'alex1234';
    vim /etc/postgresql/11/main/pg_hba.conf
    host all all 0.0.0.0/0 md5
    host replication all 0.0.0.0/0 md5
    vim /etc/postgresql/11/main/postgresql.conf
    listen_addresses = '*'
    wal_level = replica
    archive_mode = on
    archive_command = 'ssh 192.168.219.33 test ! -f /tmp/pg_archive/%f && scp %p 192.168.219.33:/tmp/pg_archive/%f'
    max_wal_senders = 10
    wal_keep_segments = 1024
    wal_sender_timeout = 60s

    su - postgres
    ssh-keygen
    cat .ssh/id_rsa.pub 复制到从机的postgres用户

    从:
    apt-get install postgresql-11
    ssh-keygen
    vim .ssh/authorized_keys

    主:
    ssh 192.168.219.33
    在从库创建/tmp/pg_archive 权限为postgres用户
    mkdir /tmp/pg_archive
    exit
    systemctl restart postgresql
    sudo -u postgres psql -c "select pg_switch_wal();"

    从库的/tmp/pg_archive有日志了
    主:
    CREATE ROLE repl login replication encrypted password 'repl';


    从:
    停掉从库。
    mv /var/lib/postgresql/11/main /var/lib/postgresql/11/main_bak
    pg_basebackup -RFp --progress -D /var/lib/postgresql/11/main -h 192.168.219.32 -p 5432 -U repl --password
    vim /var/lib/postgresql/11/main/recovery.conf
    #primary_conninfo 注释
    restore_command = 'cp /tmp/pg_archive/%f %p'

    vim /etc/postgresql/11/main/postgresql.conf
    max_connections = 1000 #一般查多于写的应用从库的最大连接数要比较大
    hot_standby = on #说明这台机器不仅仅是用于数据归档,也用于数据查询
    max_standby_streaming_delay = 30s #数据流备份的最大延迟时间
    wal_receiver_status_interval = 1s #多久向主报告一次从的状态,当然从每次数据复制都会向主报告状态,这里只是设置最长的间隔时间
    hot_standby_feedback = on #如果有错误的数据复制,是否向主进行反馈


    验证:
    查看同步情况:
    sudo -u postgres psql -c "select * from pg_stat_replication" 这里不是流复制,所有没有显示
    主库create database alex;
    查看从库是否同步


    这种归档模式的同步需要主库上执行检查点切换后,主库的数据才会同步到从库
    或是手工进行检查点的切换
    select pg_switch_wal();

    为啥要切换生成日志,因为架设的是基于文件的备库,只有归档传输到备库后才会应用,否则记录还在主库的xlog中.

  • 相关阅读:
    Linux 日志管理
    Linux 备份与恢复
    Linux 启动管理
    Linux 用户和用户组管理
    产生指定时间区间序列、按指定单位变化时间 python实现
    python上数据存储 .h5格式或者h5py
    数据预处理之独热编码(One-Hot Encoding)
    残差网络
    GBDT为什么不能并行,XGBoost却可以
    百融金服、趣店、中航信面试总结
  • 原文地址:https://www.cnblogs.com/alexhjl/p/12738126.html
Copyright © 2011-2022 走看看