Postgres:pg_basebackup物理备份与还原

简介: vim $PGDAT/postgresql.conf 将wal_level = archive(or hot_standby);开启archive mode,archive_mode =...
  • vim $PGDAT/postgresql.conf
    • 将wal_level = archive(or hot_standby);
    • 开启archive mode,archive_mode = on
    • 设置archive_command, 例如:
archive_command =  'tar czf /mnt/pgbackup/dbs1backup/"%p".tar.gz "%p"' 或者
archive_command = 'DATE=`date +%Y%m%d`;DIR="/var/lib/pgsql/test/$DATE";(test -d $DIR || mkdir -p $DIR)&&cp %p $DIR/%f' 

    执行该语句后会在/var/lib/pgsql/test/$DATE生成归档文件,注意文件的所有者是否是postgres
    %p 表示xlog文件名$PGDAT的相对路径,如pg_xlog/000000000007D
    %f表示xlog文件名,如0000000000007D

下面给出一个本地备份异地还原的例子

  1. psql -h 127.0.0.1 -U postgres 成功的话(注意防火墙的设置,清空先。如果连不通注意pg_hba的配置)
  2. pg_basebackup -h 127.0.0.1 -U postgres -F t -z -D /var/lib/pgsql/test/bk_20171024/ -P(压缩率高 -P显示进度)
  3. 之后会在/var/lib/pgsql/test/bk_20171024/ 生成db的backup,其中base是$pgdata目录的备份
  4. 将备份完的db:/var/lib/pgsql/test/bk_20171024/拷贝到另一台服务器/var/lib/pgsql/bk_20171025
  5. 将archive拷贝到另一台服务器的:地址是/var/lib/pgsql/9.2/archive1024
  6. 在另一台服务器上: 将原先的data内的目录全部mv到别的路径下
  7. 在另一台服务器上:将recovery.conf中的restore_command设置成cp /var/lib/pgsql/9.2/archive1024/%f %p
  8. 关于db目录,因在本例中,数据文件~/9.2/data/pg_tblspc中被软连接到了另一个地址,如图,所以需要将备份的数据文件解压到相应的目录下。解压代码如下

这里写图片描述

#!/bin/bash


# Restore tablespaces
for tblspcoid in $(ls /var/lib/pgsql/9.2/data/pg_tblspc/)
do
    rdest=$(readlink /var/lib/pgsql/9.2/data/pg_tblspc/$tblspcoid)
    echo "Extracting $basedir/$tblspcoid.tar.gz to $rdest/ ..."
        if [ ! -d $rdest ];then
            echo "rdest is not exist, creating ..."
            `mkdir -p $rdest`
        fi
        chown postgres:postgres $rdest
    tar -xzf /var/lib/pgsql/bk_20171025/$tblspcoid.tar.gz -C $rdest/

done

最后启动 /etc/init.d/postgresql-9.2 start

目录
相关文章
|
Docker 容器
CPU内存不足分析Gitlab的内存消耗
CPU内存不足分析Gitlab的内存消耗
CPU内存不足分析Gitlab的内存消耗
|
JavaScript 前端开发
umi + antd 动态主题色
这篇文章讲解的是动态主题色的变化,也就是,页面可能会有10种,或者20种颜色需要切换,不知道到底有多少种颜色;同时,文档也考虑到多人协助开发,开发人员只需要按照约定方式去编写样式、主题文件名、目录等命名规范即可。
1969 0
umi + antd 动态主题色
|
负载均衡
Pgpool-II实现高可用+读写分离+负载均衡(七)---- recovery_1st_stage分析
recovery_1st_stage是Pgpool online recovery的第一阶段,位于PG_DATA目录下,主要功能就是使用pg_basebackup恢复(recovery)从节点。
|
存储 缓存 搜索推荐
打造个性化天气应用:Android 平台上的天气预报小助手
【9月更文挑战第2天】在这篇文章中,我们将一起探索如何从零开始构建一个简单却功能强大的天气应用。通过这个指南,你将学会如何在 Android 平台上使用 Java 编程语言和相关 API 来创建你自己的天气预报小助手。文章不仅提供了代码示例,还深入讨论了设计思路、用户界面优化以及数据管理等关键方面,旨在帮助初学者理解并实现一个完整的应用项目。
|
8月前
|
API
鸿蒙开发:单一手势实现长按事件
虽然说我们可以通过onTouch来实现一个长按事件,但是如果想要实现连续,多指那么就比较麻烦,远远没有LongPressGesture实现起来简单,所以在实际的开发中,大家还是以LongPressGesture为主。
158 1
鸿蒙开发:单一手势实现长按事件
|
10月前
|
人工智能 测试技术 Python
VideoChat-Flash:上海AI Lab开源高效处理超长视频的多模态大模型
VideoChat-Flash 是上海人工智能实验室等机构推出的多模态大模型,通过分层压缩技术高效处理长视频,支持长达数小时的视频输入,推理速度提升5-10倍。
390 1
VideoChat-Flash:上海AI Lab开源高效处理超长视频的多模态大模型
|
11月前
|
机器学习/深度学习 人工智能 并行计算
《量子计算对人工智能发展的深远影响》
在科技发展的浪潮中,量子计算与人工智能的融合正引领着深刻的科技变革。量子计算利用量子比特的叠加和纠缠特性,实现并行计算,显著提升机器学习训练速度、优化问题求解、大数据分析能力及AI模型泛化能力,催生新型AI算法,并拓展新应用领域。然而,这一融合仍面临硬件稳定性和软件开发等挑战。
524 4
《量子计算对人工智能发展的深远影响》
|
缓存 Kubernetes 应用服务中间件
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
445 0
k8s学习--helm的详细解释及安装和常用命令
|
Java Linux 开发工具
Linux部署 Gerrit 教程 ——2023.07
Linux部署 Gerrit 教程 ——2023.07
1050 0
|
存储 监控 固态存储
【性能突破】揭秘!如何让您的数据库在高并发风暴中稳如磐石——一场关于WAL写入性能优化的实战之旅,不容错过的技术盛宴!
【8月更文挑战第21天】在高并发环境下,数据库面临极大挑战,特别是采用Write-Ahead Logging (WAL)的日志机制。本文通过一个在线交易系统的案例,分析了WAL写入性能瓶颈,并提出优化方案:理解WAL流程;分析磁盘I/O瓶颈、缓冲区设置与同步策略;通过增大WAL缓冲区、使用SSD及调整同步策略来优化;最后通过测试验证改进效果,总结出一套综合优化方法。
303 0