postgresql Streaming Replication监控与注意事项
一监控Streaming Replication集群
1 pg_stat_replication视图(主库端执行)
|
pid |
Wal sender process的进程ID |
|
usesysid |
执行流复制的用户的OID |
|
usename |
执行流复制的用户名 |
|
application_name |
连接到master的Application name |
|
client_addr |
standby的ip地址 |
|
client_hostname |
Standby主机名 |
|
client_port |
standby上连接端口 |
|
backend_start |
Wal sender process启动时间。 |
|
state |
WAL sender process状态 |
|
sent_location |
WAL发送位置 |
|
write_location |
Standby端写WAL位置 |
|
flush_location |
Standby端写WAL刷新到磁盘的位置 |
|
replay_location |
Standby端应用WAL位置 |
|
sync_priority |
standby的优先级 |
|
sync_state |
standby的同步类型 |
主库上通过执行函数把WAL位置转换成WAL文件名与偏移量
select * from pg_xlogfile_name_offset('XXX');
查看备库落后主库多少个字节的wal日志
select pg_xlog_location_diff(pg_current_xlog_location(),replay_location) from pg_stat_replication;
2pg_is_in_recovery()查看数据库状态
3pg_controldata查看数据库信息
4hot standby查看备库接收wal日志和应用wal日志的状态信息(standby上执行)
pg_last_xlog_receive_location()//standby最后接收到的事务日志。
pg_last_xlog_replay_location()//standby最后应用到的事务日志位置。
pg_last_xact_replay_timestamp()//recovery过程中最后一个事务执行的时间。
select pg_last_xlog_receive_location(),pg_last_xlog_replay_location(),pg_last_xact_replay_timestamp();
二Streaming Replication集群常见问题
2.1备库查询限制
DML,DDL限制
select * from table for update;
比row exclusivemode级别高的表锁不能执行等。
2.2备库查询冲突与处理
Ø 冲突如下:
1主库上运行的vacuum清理掉了备库上查询还需要的多版本数据。
2主库上执行lock命令或各种DDL语句会在表上产生exclusive锁,而在备库上对这些表进行查询时,就会产生冲突。
3在主库上删除一个表空间,而备库上的查询需要存放的一些工作临时文件在此表空间中。
4主库上删除了一个数据库,而备库上还有还多session还在连接在这个数据库上。
Ø 处理方法:
1备库延迟应用wal日志
参数用于控制应用wal日志最多等多久,超过这个时间,将应用wal日志,取消备库上正在执行的查询(在视图pg_stat_database_conflicts中查询取消执行的sql)。
Max_standby_archive_delay备库从归档中读取的最大延迟,默认是30s,如果设置是-1,则一直等下去。
Max_standby_streaming_delay备库从流复制中读取wal时的最大延迟,默认是30s,如果设置是-1,则一直等下去。
2主库上运行的vacuum清理掉了备库上查询还需要的多版本数据,
解决方法1
在备库上设置参数hot_standby_feedback为true来解决,设置该参数为true后,备库会通知主库,那些多版本的数据在备库上还需要,这样主库上的autovacuum就不会清理掉这些数据,从而减少冲突。
解决方法2.
在主库增大vacuum_defer_cleanup_age值,让数据库延迟清理多版本数据。
在备库recovery.conf中参数recovery_min_apply_delay。
2.3流复制注意事项
1wal_keep_segments:为备库保留多少个日志文件
主库还没有来得及把wal日志传送到备库,可能被覆盖,如果没有被归档,那么日志文件不连续了。
2vacuum_defer_cleanup_age:延迟清理多少个事务
原因:主库清理的数据,有可能备库正在查询使用,会导致查询失败。
3关于主备库archive_mode、archive_command
(1)在主库postgresql.conf配置文件配置如下
archive_mode = on
archive_command = 'cp %p /pgdb/archlog/%f'
主库开启归档模式,事务日志写入.. /data/pg_xlog目录,archive_command把归档日志复制到/ pgdb /archlog
(2)在备库archive_mode、archive_command值对备库没有任何影响,备库不会加载该配置。主库事务提交后,备库接收日志流,写入../data/pg_xlog目录并应用,但不执行archive_command归档命令。
新特性:PostgreSQL9.5.1:archive_mode = always 支持备节点应用日志流后,归档。
postgresql Streaming Replication监控与注意事项的更多相关文章
- 配置PostgreSQL Streaming Replication集群
运行环境: Primary: 192.168.0.11 Standby: 192.168.0.21, 192.168.0.22 OS: CentOS 6.2 PostgreSQL: 9.1.2 版本以 ...
- PostgreSQL Streaming Replication的FATAL ERROR
磨砺技术珠矶,践行数据之道,追求卓越价值回到上一级页面: PostgreSQL集群方案相关索引页 回到顶级页面:PostgreSQL索引页[作者 高健@博客园 luckyjackgao@gm ...
- PostgreSQL 9.3 Streaming Replication 状态监控
postgresql是使用Streaming Replication来实现热备份的,热备份的作用如下: 灾难恢复 高可用性 负载均衡,当你使用Streaming Replication来实现热备份(h ...
- Streaming replication slots in PostgreSQL 9.4
Streaming replication slots are a pending feature in PostgreSQL 9.4, as part of the logical changese ...
- PostgreSQL的streaming replication
磨砺技术珠矶,践行数据之道,追求卓越价值回到上一级页面: PostgreSQL集群方案相关索引页 回到顶级页面:PostgreSQL索引页[作者 高健@博客园 luckyjackgao@gm ...
- PostgreSQL Cascade Replication
PostgreSQL Cascade Replication node1:master:10.2.208.10:repclia(user) node2:upstreamnode:10.2.208.11 ...
- LoadRunner添加Weblogic监控的注意事项(非单纯的操作步骤)
LoadRunner添加Weblogic监控的注意事项(非单纯的操作步骤) 关于LR如何监控Weblogic(JMX方式)的操作就不在这里多说了,帮助文件和网上的介绍已经非常多了,关键是对各操作步 ...
- [笔记] postgresql 流复制(streaming replication)
基本环境说明: os:FreeBSD 9.3 postgresql version: master:192.168.56.101 standby:192.168.56.102 安装过程略,基于pkg包 ...
- postgreSQL数据库的监控及数据维护
目前postgreSQL数据库的管理,数据查询等都需要安装postgreSQL软件或安装pgadmin等,远程访问都需要先登录到服务器等繁琐的操作.如果是开发团队,那么每个开发,测试,管理人员都要经历 ...
随机推荐
- 【FJ省队训练&&NOIP夏令营】酱油&&滚粗记
FJOI2016省队训练滚粗记 2016.07.03~2016.07.06(Day1~5) 在学校期末考.因为才省选二试too young too simple爆蛋了所以下半个学期只能滚回去读文化课, ...
- Android 快速索引(城市列表和联系人)
最近需要实现一个城市列表的快速索引功能.类似于联系人应用,根据姓名首字母快速索引功能. 要实现这个功能只需要解决两个问题:1.对列表进行分组(具有同一特征),并且能够快速定位到该组的第一项 2.右侧分 ...
- redux源码浅入浅出
运用redux有一段时间了,包括redux-thunk和redux-saga处理异步action都有一定的涉及,现在技术栈转向阿里的dva+antd,好用得不要不要的,但是需要知己知彼要对react家 ...
- Python selenium 三种等待方式详解(必会)
很多人在群里问,这个下拉框定位不到.那个弹出框定位不到…各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待.殊不知,你的代码运行速度是什么量级的,而浏览器加载渲染速度又是什么 ...
- 函数介绍——MulDiv
http://blog.sina.com.cn/s/blog_579ebc11010008ql.html 函数介绍——MulDiv (2007-03-27 10:05:30) 转载▼ 分类: 编程 ...
- HAWQ技术总结
HAWQ技术总结: 1. 官网: http://hawq.incubator.apache.org/ 2. 特性 2.1 sql支持完善 ANSI SQL标准,OLAP扩展,标准JDBC/ODBC支持 ...
- SpringBoot整合jsp技术
1.修改pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...
- SpringBoot整合Lintener
1.通过扫描完成Lintener组件的注册 1.1编写Listener /** * springboot整合Lintener 方式一 * 在web.xml中如何配置Listener * <lis ...
- 【ABAP系列】SAP ABAP 仓库库存-物料拆分的算法
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 仓库库存-物料 ...
- 解决jQuery的toggle()的自动触发问题
在1.9以后的版本toggle()就存在这个问题,用之前的版本就正常了 解决办法: 1.去 jquery官网下载一个版本升级文件.http://blog.jquery.com/2013/05/08/j ...