zoukankan      html  css  js  c++  java
  • pg_basebackup物理备份与还原

    pg_basebackup被用于获得一个正在运行的PostgreSQL数据库集簇的基础备份,简单记录下过程

    1、初始化数据库(pg版本12.1)

    ./initdb -USYSTEM -W -D ./data

     2、修改配置文件

    1、vim postgresql.conf
    listen_addresses = '*'
    wal_level = replica
    archive_mode = on
    archive_command = 'cp %p /home/cli/bin/%f && echo %f >> /home/cli/bin/archive.list' max_wal_senders= 10 wal_keep_segments=1024 hot_standby = on
    2、vim postgresql.conf
    host    replication     all             192.168.1.108/32            trust

    3、创建基础备份

    主机启动数据库
    ./pg_ctl -D data/ start

    备机创建备份集

      ./pg_basebackup -D /home/cli/pg/bin/back -Ft -v -P -USYSTEM -h 192.168.1.108 -p5432 -R

    -----------------

    [cli@localhost bin]$ ./pg_basebackup -D /home/cli/pg/bin/back -Ft -v -P -USYSTEM -h 192.168.1.108 -p5432 -R
    pg_basebackup: 开始基础备份,等待检查点完成
    pg_basebackup: 已完成检查点
    pg_basebackup: 预写日志起始于时间点: 0/2000028, 基于时间轴1
    pg_basebackup: 启动后台 WAL 接收进程
    pg_basebackup: 已创建临时复制槽"pg_basebackup_52255"
    24761/24761 kB (100%), 1/1 表空间
    pg_basebackup: 预写日志结束点: 0/2000100
    pg_basebackup: 等待后台进程结束流操作...
    pg_basebackup: 同步数据到磁盘...
    pg_basebackup: 基础备份已完成

    4、备机进行恢复

    1、查看备份文件
    [
    cli@localhost back]$ ls base.tar pg_wal.tar

    2、解压备份文件至数据库data目录
    [cli@localhost back]$ tar -xvf base.tar -C ../data/
    3、查看data目录文件
    [cli@localhost data]$ ls
    backup_label pg_commit_ts pg_ident.conf pg_notify pg_snapshots pg_subtrans PG_VERSION postgresql.auto.conf tablespace_map
    base pg_dynshmem pg_logical pg_replslot pg_stat pg_tblspc pg_wal postgresql.conf
    global pg_hba.conf pg_multixact pg_serial pg_stat_tmp pg_twophase pg_xact standby.signal
    4、复制pg_wal目录下的日志文件至archive目录下(/home/cli/bin)
    5、修改postgresql.auto.conf,
    restore_command = 'cp /home/cli/bin/%f %p'
    6、启动备机数据库,恢复完成
    但行好事,莫问前程
  • 相关阅读:
    说一说Java的Unsafe类
    阿里云CentOS下安装jdk
    LeetCode 5
    五种方法实现Java的Singleton单例模式
    聊聊Java的final关键字
    LeetCode 4
    Java9都快发布了,Java8的十大新特性你了解多少呢?
    【Spring】mvc:annotation-driven 使用
    【gradle】【maven】gradle 转 maven pom.xml
    [GIT]比较不同分支的差异
  • 原文地址:https://www.cnblogs.com/mingfan/p/12291806.html
Copyright © 2011-2022 走看看