广州鸿名健康科技有限公司


PostgreSql从库重新配置的详情

网络编程 PostgreSql从库重新配置的详情 09-20
  • 1 复制从库之前配置的参数文件
  • 2、停下现有的从库
  • 3、开启主库的备份状态
  • 4、把主数据库目录拷贝到备库目录就可以了:
  • 5、还原之前复制的recovery.conf文件
  • 6、停下主库备份
  • 7、启动备库
  • postgresql数据库采用主从配置 在主库正常从库挂掉的情况下 重新对从库配置
    😊

    配置详情:
    主库数据文件:100G
    压缩时间1小时40分钟,压缩后文件大小46G
    解压时间55分钟

    1 复制从库之前配置的参数文件

    进入pgsql 文件下面的data文件

    #把pgsql的配置文件复制到/home 文件下
    [root@postgre2 data]# cp pg_hba.conf /home/
    [root@postgre2 data]# cp postgresql.conf /home/
    [root@postgre2 data]# cp recovery.conf /home

    2、停下现有的从库

    从库:

    /usr/pgsql-11/bin/pg_ctl -D /u01/pgsql/data/ stop –从库的data文件位置

    [root@postgre2 ~]# su – postgres
    Last login: Tue Dec 22 13:32:15 CST 2020 on pts/0
    -bash-4.2$ /usr/pgsql-11/bin/pg_ctl -D /u01/pgsql/data/ stop
    waiting for server to shut down…. done
    server stopped

    3、开启主库的备份状态

    主库:

    [root@postgre1 ~]# su – postgres
    Last login: Thu Dec 24 09:23:55 CST 2020 on pts/1
    -bash-4.2$ psql
    psql (11.7)
    Type “help” for help.

    postgres=# select pg_start_backup(‘/tmp/backup’);
    pg_start_backup
    —————–
    2/90000

    –窗口不要退出

    4、把主数据库目录拷贝到备库目录就可以了:

    主库:
    数据库目录压缩

    [root@postgre1 pgsql]# pwd
    /u01/pgsql
    [root@postgre1 pgsql]# tar -zcvf data.tar.gz data

    从库:
    删除从库原来的data目录

    [root@postgre2 ~]# cd /u01/pgsql/
    [root@postgre2 pgsql]# ls
    data
    [root@postgre2 pgsql]# rm -fr data/

    主库:
    数据库目录远程传输

    [root@postgre1 pgsql]# sudo scp data.tar.gz root@postgre2:/u01/pgsql/data

    从库:
    解压数据库目录

    [root@postgre2 ~]# cd /u01/pgsql/
    [root@postgre2 pgsql]# tar -zxvf data

    删掉从主库拷贝过来的postmaster.pid

    [root@postgre2 pgsql]# cd data/
    [root@postgre2 data]# rm -r postmaster.pid

    5、还原之前复制的recovery.conf文件

    [root@postgre2 data]# cp /home/recovery.conf .
    [root@postgre2 data]# chown postgres:postgres recovery.conf
    [root@postgre2 data]# cp /home/postgresql.conf .
    [root@postgre2 data]# cp /home/pg_hba.conf .

    6、停下主库备份

    主库:

    postgres=# select pg_stop_backup();

    NOTICE: pg_stop_backup complete, all required WAL segments have been archived
    pg_stop_backup
    —————-
    0/640001F8

    7、启动备库

    从库:

    [root@postgre2 ~]# su – postgres
    Last login: Thu Dec 24 11:06:30 CST 2020 on pts/1
    -bash-4.2$ /usr/pgsql-11/bin/pg_ctl -D /u01/pgsql/data/ start

    如果没有启动systemctl status postgresql-11或者log日志查看具体问题
    如果从库配置的时间过长,最后就会报错,显示找不到日志文件
    但是只要主从配置好了,数据能从主库自动同步从库 就可以忽略错误

    到此这篇关于PostgreSql从库重新配置的详情的文章就介绍到这了,更多相关PostgreSql从库重新配置内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


    编辑:广州鸿名健康科技有限公司

    标签:文件,目录,数据库,备份,主从