Postgres:pg_basebackup物理备份与还原_postgres 异地备份 下载到本地-程序员宅基地

技术标签: postgresql  Postgresql  备份  

  • 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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/youngbit007/article/details/78363689

智能推荐

《让僵冷的翅膀飞起来》系列之一——从实例谈OOP、工厂模式和重构(转载)...-程序员宅基地

文章浏览阅读41次。转自:http://www.cnblogs.com/wayfarer/articles/70453.html#!comments《让僵冷的翅膀飞起来》系列之二——从实例谈Adapter模式《让僵冷的翅膀飞起来》系列之三——从Adapter模式到Decorator模式有了翅膀才能飞,欠缺灵活的代码就象冻坏了翅膀的鸟儿。不能飞翔,就少了几许灵动的气韵。我们需要给代码带去温暖的阳光,让僵冷的...

tf.keras.losses.SparseCategoricalCrossentropy-程序员宅基地

文章浏览阅读1.7k次。日萌社人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)from_logits# 损失基本计算方法为稀疏类别交叉熵损失# from_logits=True代表是否将预测结果预期为非 0/1 的值进行保留# 理论来讲二分类最终的结果应该只有0/1,函数将自动将其变为0/1,from_logits=True...

DDD领域驱动设计:CQRS架构模式_cqrs架构 ddd-程序员宅基地

文章浏览阅读1.2w次,点赞21次,收藏21次。文章目录前言一、 CQRS介绍1.什么是 CQRS2.为何要使用CQRS二、CQRS 架构1.单数据库 CQRS2.双数据库 CQRS3.事件源 (Event source) CQRS结尾前言DDD 作为一种系统分析的方法论,最大的问题是如何在项目中实践。而在实践过程中必然会面临许多的问题,「模式」是系统架构领域中一种常见的手段,能够帮助开发人员与架构师在遭遇某种较为棘手,或是陌生的问题时,参考已有的成熟经验与解决方案,从而优雅的解决自己项目中的问题。本篇介绍的是CQRS,中文名为命令查询职责分离。_cqrs架构 ddd

Matlab弹出窗口-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏18次。Matlab弹出窗口Matlab弹出窗口1.文件打开操作uigetfile命令打开以.m结尾的文件[FileName,PathName] = uigetfile('*.m','Select the MATLAB code file');打开不同格式的文件[filename, pathname] = uigetfile( ......_每次打开matlab一个文件夹都弹出来新的一个窗口

TCP传输模式中,调用Socket的shutdownInput()和shutdownOutput()都做了些什么?-程序员宅基地

文章浏览阅读4.2w次,点赞39次,收藏110次。先来看官网API对于这个方法功能的描述:shutdownInput():Places the input stream for this socket at "end of stream",即socket输入流置于流末尾,但是呢,还是不明白到底是什么意思,所以还是那句话“实践是检验真理的唯一标准~”客户端代码:服务端代码:运行结果: 客户端co_shutdowninput

FreeRadius 安装过程记录-程序员宅基地

文章浏览阅读5.8k次。FreeRadius 安装过程记录FreeRadius 安装过程记录使用 apt-get 安装下载原代码编译安装解压及安装问题使用 apt-get 安装输入命令:sudo apt-get install freeradiusapt-get 安装时,没有radiusd程序。但是在man freeradius时,要求运行的是radiusd,同时,在官方网站上的文档中,也要求使用radiusd程序

随便推点

minisat 安装指南-程序员宅基地

文章浏览阅读5.2k次。以下操作均需要在linux环境下执行。首先到http://www.minisat.se/MiniSat.html下载minisat-2.2.0.tar.gz这个安装包,并解压缩,可以看到压缩包中有一个README,其中就包含了安装方法:1.进入解压缩后的文件夹2.export MROOT=文件夹所在路径 //这句的意义是声明一个环境变量保存文件夹路径,下面的make命令会调用这个

Webpack 4.X 从入门到精通 - loader(五)_"less\": \"^3.8.1\","-程序员宅基地

文章浏览阅读186次。通过上一篇文章相信大家已经明白了loader的概念。那这篇文章继续介绍一些常用loader,并展现它的强大之处处理lessless与sass的功能都一样,这里我就以less为例,介绍其对应loader的用法。less的语法对于浏览器那是必需不认识的,要处理成浏览器认识的需要借助两个模块,一个less和一个less-loader安装npm i less less-loader -D创建..._"less\": \"^3.8.1\","

SSH个人相册_ssh开发相册-程序员宅基地

文章浏览阅读204次。SSH个人相册使用Maven环境下创建album相册管理pom中找不到oracle数据库驱动问题Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0原因:Oracle的ojdbc.jar是收费的,所以maven的中央仓库中没有这个资源,只能通过配置本地库才能加载到项目中去。废话不多说,解决方案如下:1.首先确定你是否有安装oracle,如果..._ssh开发相册

我的前端成长之路:中医药大学毕业的业务女前端修炼之路_前端通过项目个人成长-程序员宅基地

文章浏览阅读818次。前端工程师的修炼没有捷径,踏踏实实的通过一个个项目的实践来升级打怪实现进阶;本文仅分享自己11年的前端生涯,探讨一直在业务中的技术人的成长之路,也复盘再认识下自己,每个节点我遇到的问题和我的选择。..._前端通过项目个人成长

docker inspect --format 详解-程序员宅基地

文章浏览阅读2.6k次。Docker --format 参数提供了基于 Go模板 的日志格式化输出辅助功能,并提供了一些内置的增强函数。什么是模板?上图是大家熟悉的 MVC 框架(Model View Controller): Model(模型,通常在服务端)用于处理数据、View(视图,客户端代码)用于展现结果、Controller(控制器)用于控制数据流,确保 M 和 V 的同步,即一旦 M 改变,V 也应该同步更新。而对于 View 端的处理,在很多动态语言中是通过在静态 HTML 代码中插入动态数据来实现的。例如 _docker inspect --format

centOS7.4安装jdk1.8+tomcat7_centos7 安装tomcat jdk-程序员宅基地

文章浏览阅读2.1k次。1.准备1.JDK1.8:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html jdk-8u162-linux-x64.tar.gz2.tomcat7:https://tomcat.apache.org/download-70.cgi下载之后通过scp或者winscp等工具..._centos7 安装tomcat jdk

推荐文章

热门文章

相关标签