postgresql 热备与恢复
一. PostgreSQL热备份的过程一般为:
- 数据库中执行:pg_start_backup() ;
- 然后使用操作系统的tar或 cp命令拷贝 PostgreSQL数据文件。
- 数据库中执行:pg_stop_backup() ;
archive_mode = on archive_command = 'cp -i %p /home/postgres/archive/%f' wal_level = archive
postgres=# select pg_start_backup('hot_back');
pg_start_backup
-----------------
/
( row)
postgres=# select pg_stop_backup(); NOTICE: pg_stop_backup complete, all required WAL segments have been archived pg_stop_backup ---------------- /30000C0 ( row)
实际上pg_start_backup()主要做了以下两个工作:
- 置写日志标志为:XLogCtl->Insert.forcePageWrites = true,也就是把这个标志设置为true后,数据库会把变化的整个数据块都记录到数据库中,而不仅仅是块中记录的变化。
- 强制发生一次checkpoint点。
最后奉上备份脚本
##===========================================================
## pg_hot_back.sh
## created by lottu
## //
## usage: pg_hot_back.sh
##============================================================
#!/bin/bash
DATE=`date +%Y%m%d`;
PG_ARCHIVE=/home/postgres/archive/
PG_DATA=/home/postgres/data/
PG_HOME=/home/postgres
BACK_LOG=/home/postgres/log/hot_${DATE}.log
#START BACKUP
echo "START BACKUP..............." > $BACK_LOG
psql postgres -c "select pg_start_backup('hot_back')" >> $BACK_LOGcd $PG_HOME
tar -zcvf ${PG_HOME}/backup/pg_back_${DATA}.tar.gz data/ >> $BACK_LOG
psql postgres -c "select pg_stop_backup()" >> $BACK_LOG
psql postgres -c "select pg_switch_xlog()" >> $BACK_LOG
psql postgres -c "select pg_current_xlog_location()" >> $BACK_LOG
echo "BACKUP END" > $BACK_LOG
postgresql 热备与恢复的更多相关文章
- 采用pacemaker+corosync实现postgresql双机热备、高可用方案
环境说明 参照上章已完成postgresql流复制配置,并关闭postgres服务. su - postgres pg_ctl -D /data/postgresql/data/ stop -m fa ...
- 使用xtrbackup 热备MySQL数据库 以及恢复和自动删除脚本
直接上脚本 热备(全备) #!/bin/bash user='root' passwd='123456' my_config='/etc/my.cnf' #mysql configure log=fu ...
- oracle数据库热备中的备份和恢复及例子
手工热备(开库状态) 备份控制文件: alter database backup controlfile to '/u01/oradata/prod/con.bak1'; 备份数据文件(这里用到pl/ ...
- postgresql双机热备、高可用方案(采用pacemaker+corosync实现)
http://blog.csdn.net/qguanri/article/details/51151974 需求描述 我们有两台centos7的数据库主机A.B.要对A.B实现双机热备,A作为数据库m ...
- CentOS系统MySQL双机热备配置
1 概述 在集成项目中需要应对不同环境下的安装配置,主流操作系统大致可以分为三种:Linux.Windows以及UNIX.其中Linux备受青睐的主要原因有两个: 首先,Linux作为自由软件有两个 ...
- 一张“神图”看懂单机/集群/热备/磁盘阵列(RAID)
单机部署(stand-alone):只有一个饮水机提供服务,服务只部署一份 集群部署(cluster):有多个饮水机同时提供服务,服务冗余部署,每个冗余的服务都对外提供服务,一个服务挂掉时依然可用 热 ...
- 一张图看懂单机/集群/热备/磁盘阵列(RAID)
- Nginx+keepalived双机热备(主从模式)
负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行.关于负载均衡介绍,可以参考:linux负载 ...
- keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群
本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可 ...
随机推荐
- IE、chrome、火狐中如何调试javascript脚本
1. IE中点击"F12",在弹出页面中调试javascript脚本 2. chrome中点击"F12",在弹出页面中调试javascript脚本 3. 火 ...
- mysql及redis环境部署时遇到的问题解决
redis开启远程访问redis默认只允许本地访问,要使redis可以远程访问可以修改redis.conf打开redis.conf文件在NETWORK部分有说明 解决办法:注释掉bind 127.0. ...
- EBS运行快速安装的程序时,提示DISPLAY变量设置不对
EBS运行快速安装的程序时,系统提示如下: Rapid Install Wizard is validating your file system...... >> Wizard requ ...
- mysql参数sql_log_bin
如果想在主库上执行一些操作,但不复制到slave库上,可以通过修改参数sql_log_bin来实现. 比如想在主库上修改某个表的定义,但是在slave库上不做修改: master mysql> ...
- CommonJS规范
CommonJS是一种规范,NodeJS是这种规范的实现.CommonJS是一 个不断发展的规范,计划将要包括如下部分: Modules Binary strings and buffers Char ...
- SQL 数据库 存储过程 视图
一.存储过程 1.概述 存储过程是一组编译在单个执行计划中的T-SQL语句 存储过程:就像函数一样的会保存在数据库中(可编程性) 存储过程的优点: 1.允许模块化程序设计 2.允许更快执行如果某操作需 ...
- SQL top查询
select *from emp;
- Java基础(45):冒泡排序的Java封装(完整可运行)
1.冒泡排序 package lsg.ap.bubble; import java.util.*; public class BubbleSort { public static void bubbl ...
- Java基础(10):java基础第一部分综合测试题,成绩合法性校验与排序
题目: 编写一个 JAVA 程序,实现输出考试成绩的前三名 要求: 1. 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73 ...
- 解决HierarchyViewer不能连接真机的问题
今天想通过HierarchyViewer分析一下Android应用的布局,但是发现无法连接上真机,错误如下: 1 2 3 4 5 [hierarchyviewer]Unable to get ...