PostgreSQL Hot Standby环境监测脚本

Postgresql 在9.0引进了Stream Replication;为数据库集群提供一种高可用性;本文提供一个环境监测脚本

环境搭建: 参考--http://www.cnblogs.com/lottu/p/5584923.html

环境切换: 参考--http://www.cnblogs.com/lottu/p/5725309.html

提供脚本如下:

##===========================================================
##   postgres_db_check.sh
##   created by lottu
##   2016/08/07
##   usage: postgres_db_check.sh
##============================================================
#!/bin/bash  

export LANG="en_US.utf8"
export DATE=`date +"%Y%m%d"`
admail="[email protected]"
standby_number=1    #本环境只有一个备库;
m_err_exit=20
s_err_exit=21

#先判断主库是否正常运行
pg_ctl status | grep running
if [ $? -ne 0 ];then
  echo "master postgres db is not running;please check it!" | mail -s "master postgres db is not running" $admail
  exit ${m_err_exit}
fi

#查看集群中流复制的状态;可根据表pg_stat_replication进行判断
psql -t -q -c "select client_addr,sync_state,state from pg_stat_replication" > lottu.out

l=`awk -F"|" ‘/streaming/{n+=1}END{print n}‘ lottu.out`

if [ $l -ne ${standby_number} ];then
  echo "standby postgres db is not running;please check it!" | mail -s "standby postgres db is not running" $admail
  exit ${s_err_exit}
fi
时间: 2024-10-11 12:36:26

PostgreSQL Hot Standby环境监测脚本的相关文章

PostgreSQL Hot Standby的搭建

一. 简介: PG在9.*版本后热备提供了新的一个功能,那就是Stream Replication的读写分离,是PG高可用性的一个典型应用.这个功能在oracle中叫active dataguard,在PostgreSQL中称为hot standby. 二.系统环境 系统平台:CentOS 6.2 PostgreSQL版本:9.5.0 master :   183.60.192.238 slave  :   183.60.192.229 三.搭建步骤 数据库搭建参考地址http://www.cn

pg_dumpall - 抽出一个 PostgreSQL 数据库集群到脚本文件中

SYNOPSIS pg_dumpall [ option...] DESCRIPTION 描述 pg_dumpall 是一个用于写出("转储")一个数据库集群里的所有 PostgreSQL 数据库到一个脚本文件的工具. 该脚本文件包含可以用于作为 psql(1) 的输入恢复数据库的SQL命令. 它通过对数据库集群里的每个数据库调用 pg_dump(1) 实现这个功能. pg_dumpall 还转储出所有数据库公用的全局对象. (pg_dump(1) 并不保存这些对象.) 这些信息目前包

安装PostgreSQL数据库(Linux篇) [转]

from marsprj 0.编译环境 Linux: CentOS 5.5 gcc: 4.1.2 1. 安装PostgreSQL 1) 解压postgresql-9.1.7.tar.bz2 #tar jxvf postgresql-9.1.7.tar.bz2 2) 进入解压后的postgresql-9.1.7目录 #cd postgresql-9.1.7 3) 编译postgresql源码 #./configure --prefix=/opt/pgsql-9.1.7 #make #make in

PostgreSQL SystemTap on Linux

http://digoal126.wap.blog.163.com/w2/blogDetail.do;jsessionid=3949B03DE151DA0E55D807466C5E630B.yqblog35-8010?blogId=fks_087064087086083071087082094069072087087064092081081067080086&showRest=true&p=2&[email protected] 德哥@Digoal 2013-08-14 15:57

PostgreSQL Replication之第三章 理解即时恢复(4)

3.4 重放事务日志 一旦我们创建了一个我们自己的初始基础备份,我们可以收集数据库创建的XLOG.当时间到时,我们可以使用所有这些XLOG 文件并执行我们所期望的恢复进程.这就像本节描述的一样工作. 执行基本恢复 在PostgreSQL中,整个恢复过程有一个称为recover.conf的文件管理,其主要驻留在基础备份的主目录中.在启动的时候被读取,并告诉数据库服务器到哪里可以找到XLOG归档,什么时候终止重放,等等. 为了让您开始恢复,我们决定为执行一个基本的备份过程包含一个简单的recover

Linux下的PostgreSQL简单安装手册

1. 安装环境 linux版本: CentOS release 6.2 (Final) pg版本    : postgresql-9.5.0 2. pg数据库下载地址 --http://www.postgresql.org/ftp/source/ 3. 安装依赖包 >yum install gcc* >yum  install readline-devel* 4. 安装postgres   1). 解压压缩包 [[email protected] software]# tar jxvf pos

crontab 中 python(cx_Oracle)脚本执行时需要用户环境变量,怎么办??

import cx_Oracle Traceback (most recent call last): File "", line 1, in ? ImportError: libclntsh.so.10.1: cannot open shared object file: No such file or directory 看以下帖子解决的,唯一比他幸运的是看了他的贴子,不用花半天~:) ~~~~~~~~~~~~ crontab 中 python 脚本执行失败的解决方法 写服务器程序

PostgreSQL SystemTap on Linux 转

PostgreSQL 支持动态跟踪, 可以通过dtrace或者systemtap工具统计相关探针的信息. 安装systemtap yum install systemtap kernel-debuginfo kernel-devel 将安装以下包 systemtap-devel-1.8-6.el5 systemtap-client-1.8-6.el5 systemtap-runtime-1.8-6.el5 后面将使用的stap命令 [[email protected]-172-16-3-39 ~

通过EDB-Mtk工具从Oracle向PostgreSQL迁移数据

一. 参考资料 postgresql-10-US.pdf Postgres_Plus_Migration_Guide.pdf www.postgresql.org www.enterprisedb.com *由于技术更新很快,请注意本文的时效性. 二. 环境说明 源数据库:Oracle 12cR2下的一个pdb,服务名aegisdb 目标数据库:postgresql-10.1 三. 准备迁移工具 工具名称: EDB Migration Toolkit(EDB MTK) EDB MTK可以通过Po