PostgreSQL Hot Standby的主备切换
二、系统环境
系统平台:CentOS 6.2
三、搭建步骤
四、模拟主库出现故障
五、激活备库
六、激活原主库
recovery_target_timeline = 'latest' standby_mode = 'on' primary_conninfo = 'host=192.168.1.201 port=5432 user=repuser password=li0924' trigger_file = '/data/pgdata/trigger_standby'
2. 假如其现主库运行一段时间;需要同步日志;可以直接将$PGDATA目录下面的pg_xlog同步过去。
3. 在第2个延伸;在9.5版本提供一个特性-pg_rewind;用它来同步wal日志
pg_rewind --target-pgdata $PGDATA --source-server='host=192.168.1.201 port=5432 user=postgres dbname=mydb'
七、检测切换结果
[postgres@sdserver40_222 ~]$ ps -ef | grep postgres postgres 1206 32271 0 11:57 pts/0 00:00:00 ps -ef postgres 1207 32271 0 11:57 pts/0 00:00:00 grep postgres root 32269 31857 0 11:09 pts/0 00:00:00 su - postgres postgres 32271 32269 0 11:09 pts/0 00:00:00 -bash postgres 32347 1 0 11:11 pts/0 00:00:00 /opt/pgsql/bin/postgres postgres 32357 32347 0 11:11 ? 00:00:00 postgres: checkpointer process postgres 32358 32347 0 11:11 ? 00:00:00 postgres: writer process postgres 32359 32347 0 11:11 ? 00:00:00 postgres: wal writer process postgres 32360 32347 0 11:11 ? 00:00:00 postgres: autovacuum launcher process postgres 32361 32347 0 11:11 ? 00:00:00 postgres: archiver process postgres 32362 32347 0 11:11 ? 00:00:00 postgres: stats collector process postgres 32371 32347 0 11:11 ? 00:00:00 postgres: wal sender process repuser 192.168.1.202(59806) streaming 0/2F0008B0
查看现备库进程
[postgres@sdserver40_210 pgdata]$ ps -ef | grep postgres root 1193 31003 0 11:09 pts/1 00:00:00 su - postgres postgres 1194 1193 0 11:09 pts/1 00:00:00 -bash postgres 1280 1 0 11:11 pts/1 00:00:00 /opt/pgsql95/bin/postgres postgres 1287 1280 0 11:11 ? 00:00:00 postgres: startup process recovering 00000007000000000000002F postgres 1288 1280 0 11:11 ? 00:00:00 postgres: checkpointer process postgres 1289 1280 0 11:11 ? 00:00:00 postgres: writer process postgres 1290 1280 0 11:11 ? 00:00:00 postgres: stats collector process postgres 1291 1280 0 11:11 ? 00:00:00 postgres: wal receiver process streaming 0/2F0008B0 postgres 2625 1194 0 11:58 pts/1 00:00:00 ps -ef postgres 2626 1194 0 11:58 pts/1 00:00:00 grep postgres [postgres@sdserver40_210 pgdata]$
参考地址:
手动切换: http://francs3.blog.163.com/blog/static/405767272011724103133766/
自动切换:德哥:https://github.com/digoal/PostgreSQL_HA_with_primary_standby_2vip
PostgreSQL Hot Standby的主备切换的更多相关文章
- (摘)DataGuard物理standby管理 - 主备切换
DataGuard物理standby管理 - 主备切换 Dataguard的切换分为两种,switchover和failover. switchover一般用于数据库或硬件升级,这时只需要较短时间中断 ...
- Oracle 12C 物理Standby 主备切换switchover
Oracle 12C 物理Standby 主备切换switchover Oracle 12C 物理Standby 主备切换switchover Table of Contents 1. 简述 2. 切 ...
- KingbaseES R6 集群主机锁冲突导致的主备切换案例
案例说明: 主库在业务高峰期间,客户执行建表等DDL操作,主库产生"AccessExclusiveLock "锁,导致大量的事务产生锁冲突,大量的会话堆积,客户端session ...
- Spark系列(五)Master主备切换机制
Spark Master主备切换主要有两种机制,之中是基于文件系统,一种是基于Zookeeper.基于文件系统的主备切换机制需要在Active Master挂掉后手动切换到Standby Master ...
- 测试redis+keepalived实现简单的主备切换【转载】
转自: 测试redis+keepalived实现简单的主备切换 - Try My Best 尽力而为 - ITeye技术网站http://raising.iteye.com/blog/2311757 ...
- Oracle 11.2.0.4.0 Dataguard部署和日常维护(5)-Datauard 主备切换和故障转移篇
1. dataguard主备切换 1.1. 查看当前主备库是否具备切换条件 on slave select sequence#,first_time,next_time,archived,appl ...
- Postgres主备切换
主备查询 主备不会自动切换(即需要实现线上环境主数据库宕掉之后,从数据库能够自动切换为主数据库,需要借用第三方软件,例如heartbeat等) (1)如何查看是primary还是standby 方法1 ...
- 在Azure云上实现postgres主备切换
以下是工作上实现postgres主备切换功能所用到的代码和步骤,中间走了不少弯路,在此记录下.所用到的操作系统为centos 7.5,安装了两台服务器,hostname为VM7的为Master,VM8 ...
- Oracle DataGuard主备切换(switchover)
Oracle DataGuard主备切换可以使用传统的手动命令切换,也可以使用dgmgr切换,本文记录手动切换. (一)将主库切换为物理备库 STEP1:查看主库状态 SQL> SELECT O ...
随机推荐
- Daily Scrum 11.3
今天开发人员的任务都还行,测试的同学要开始辛苦了. 下面是今天的Task统计:
- javaweb实验五
product类: package com.lab;public class Product { private int id; // 商品编号 private S ...
- Hack技术
Hack技术 1.IE条件注释法,微软官方推荐的hack方式. 只在IE下生效 <!--[if IE]> <link rel="stylesheet" href= ...
- 安装redis,执行make test时遇到You need tcl 8.5 or newer in order to run the Redis test
安装他yum install tcl
- JavaScript 几种简单的table切换
方法一:for循环+if判断当前点击与自定义数组是否匹配 <!DOCTYPE html> <html lang="en"> <head> < ...
- 运行在VMware上的Linux虚拟机如何使用NAT模式连接物理机的外部网络
在VMware Workstation中,默认有3个虚拟交换机,分别是VMnet0(使用桥接网络).VMnet1(仅主机网络)和VMnet8(NAT网络). 首先说一下为什么要用NAT模式,如果你的物 ...
- JS验证只允许输入数字
1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafter ...
- J2EE用户CPU占用过大后的分析过程
1.找到最耗CPU的java线程ps命令 命令:ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid 结果展示: 2.可以获取到 ...
- thinkphp3.2 cli模式的正确使用方法
最近要使用thinkphp3.2版本的cli模式,手动执的话没有问题,比如php /www/index.php home/article/get 这样没有问题,但是一般用cli模式都是定时任务比较多, ...
- 使用IntelliJ IDEA编写Scala在Spark中运行
使用Scala写一个测试代码: object Test { def main(args: Array[String]): Unit = { println("hello world" ...