Postgresql 检查数据库主从复制进度的操作

如何查看主从复制的状态,且备库应用落后了多少字节

这些信息要在主库中查询

查看流复制的信息可以使用主库上的视图

select pid,state,client_addr,sync_priority,sync_state from pg_stat_replication;

pg_stat_replication中几个字断记录了发送wal的位置及备库接收到的wal的位置、

sent_location--发送wal的位置

write_location--备库接收到的wal的位置

flush_location—备库写wal日志到磁盘的位置

replay_location—备库应用日志的位置

查看备库落后主库多少字节

select pg_xlog_location_diff(pg_current_xlog_location(),replay_location)/1024/1024 as MB from pg_stat_replication;
select pg_xlog_location_diff(pg_current_xlog_location(),replay_location)/1024/1024/1024 as GB from pg_stat_replication;

级联复制

select pg_xlog_location_diff(pg_last_xlog_replay_location(),replay_location)/1024/1024/1024 as GB from pg_stat_replication;

补充:pgsql之查看主备复制延迟

查看复制延迟:

10.0及以上:

SELECT
  pg_wal_lsn_diff(A .c1, replay_lsn) /(1024 * 1024) AS slave_latency_MB,
  pg_wal_lsn_diff(A .c1, sent_lsn) /(1024 * 1024) AS send_latency_MB,
  pg_wal_lsn_diff(A .c1, flush_lsn) /(1024 * 1024) AS flush_latency_MB,
  state,
  backend_start,
  now()::timestamp with time zone
 FROM pg_stat_replication, pg_current_wal_lsn() AS A(c1)
 WHERE client_addr='192.168.46.173' and application_name = 'standby1'
 ORDER BY slave_latency_MB, send_latency_MB DESC
 LIMIT 1;

注:

192.168.46.173 表示从库ip地址。

pg_wal_lsn_diff(lsn pg_lsn, lsn pg_lsn):计算两个预写式日志位置间的差别。

pg_current_wal_lsn():获得当前预写式日志写入位置

小于10.0版本:

SELECT
  pg_xlog_location_diff(A .c1, replay_lsn) /(1024 * 1024) AS slave_latency_MB,
  pg_xlog_location_diff(A .c1, sent_lsn) /(1024 * 1024) AS send_latency_MB,
  pg_xlog_location_diff(A .c1, flush_lsn) /(1024 * 1024) AS flush_latency_MB,
  state,
  backend_start,
  now()::timestamp with time zone
 FROM pg_stat_replication, pg_current_xlog_location AS A(c1)
 WHERE client_addr='192.168.46.173' and application_name = 'standby1'
 ORDER BY slave_latency_MB, send_latency_MB DESC
 LIMIT 1;

注:

192.168.46.173 表示从库ip地址。

pg_xlog_location_diff(lsn pg_lsn, lsn pg_lsn):计算两个预写式日志位置间的差别。

pg_current_xlog_location ():获得当前预写式日志写入位置

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 在postgresql中结束掉正在执行的SQL语句操作

    结束进程两种方式: SELECT pg_cancel_backend(PID) 取消后台操作,回滚未提交事物 (select); SELECT pg_terminate_backend(PID) 中断session,回滚未提交事物(select.update.delete.drop); SELECT * FROM pg_stat_activity; 根据datid=10841 SELECT pg_terminate_backend (10841); 补充:PostgreSQL无法在PL / pg

  • postgresql synchronous_commit参数的用法介绍

    synchronous_commit 指定在命令返回"success"指示给客户端之前,一个事务是否需要等待 WAL 记录被写入磁盘. 合法的值是{local,remote_write,remote_apply,on,off} 默认的并且安全的设置是on. 不同于fsync,将这个参数设置为off不会产生数据库不一致性的风险:一个操作系统或数据库崩溃可能会造成一些最近据说已提交的事务丢失,但数据库状态是一致的,就像这些事务已经被干净地中止.因此,当性能比完全确保事务的持久性更重要时,关

  • 在postgresql数据库中创建只读用户的操作

    在pg数据库中创建只读用户可以采用如下方法.大体实现就是将特定schema的相关权限赋予只读用户. --创建用户 CREATE USER readonly WITH ENCRYPTED PASSWORD '123456'; --设置用户默认开启只读事务 ALTER USER readonly SET default_transaction_read_only = ON; --将schema中usage权限赋予给readonly用户,访问所有已存在的表 GRANT usage ON SCHEMA

  • postgresql中wal_level的三个参数用法说明

    wal_level中有三个主要的参数:minimal.archive和hot_standby 1.minimal是默认的值,它仅写入崩溃或者突发关机时所需要的信息(不建议使用). 2.archive是增加wal归档所需的日志(最常用). 3.hot_standby是在备用服务器上增加了运行只读查询所需的信息,一般实在流复制的时候使用到. 补充:postgresql WAL相关参数 配置文件 # - Settings - wal_level = minimal # minimal, replica

  • postgresql减少wal日志生成量的操作

    1.在繁忙的系统中,如果需要降低checkpoint发生的频率,减少WAL日志的生成量,减轻对系统IO的压力,可以通过以下两种方法. 1) 调整WAL segment大小,最高可以调整到64MB,不过只能通过编译来调整.对于已有系统不太方便: 2) 增大checkpoint_segments设置,使得checkpoint不会过于频繁地被触发: 2.在9.5中,checkpoint_segments被废弃,可以通过新增参数max_wal_size来调整,该参数缺省为1GB,已经是9.4的2倍.但如

  • PostgreSQL流复制参数max_wal_senders的用法说明

    环境: PostgreSQL 9.2.4 主机:192.25.10.76 从机:192.25.10.71 做postgresql的流复制主从时,会遇到调整max_wal_sengers这个参数,官方文档对这个参数做了一个简要的说明(9.2.4比早先版本多了几句话并做了一些微调),但没有实际的例子. 1.参数说明: Specifies the maximum number of concurrent connections from standby servers or streaming bas

  • Postgresql 检查数据库主从复制进度的操作

    如何查看主从复制的状态,且备库应用落后了多少字节 这些信息要在主库中查询 查看流复制的信息可以使用主库上的视图 select pid,state,client_addr,sync_priority,sync_state from pg_stat_replication; pg_stat_replication中几个字断记录了发送wal的位置及备库接收到的wal的位置. sent_location--发送wal的位置 write_location--备库接收到的wal的位置 flush_locat

  • PostgreSQL数据库的基本查询操作

    目录 查询列 去除重复数据DISTINCT WHERE子句 注释 算术运算符 比较运算符 逻辑运算符 查询列 SELECT语句,用于从表中选取数据.格式: SELECT <列名>,... FROM <表名>; 从Product表中,查询三列. SELECT product_id, product_name, purchase_price FROM Product; 查询所有列,格式: SELECT *FROM <表名>; 星号代表全部列. SELECT *FROM Pr

  • PostgreSQL 查找当前数据库的所有表操作

    实现的功能类似MySQL: show tables; 在 PostgreSQL 中需要写: select * from pg_tables where schemaname = 'public'; 返回结果类似如下: schemaname | tablename | tableowner | tablespace | hasindexes | hasrules | hastriggers | rowsecurity ------------+-----------+------------+--

  • postgresql 利用xlog进行热备操作

    一.验证postgresql增量合并的方案 结果:没有有效可行的增量合并方案,暂时放弃 二.梳理postgresql基于wal的增量备份 物理备份与还原适用于跨小版本的恢复但是不能跨平台 逻辑备份与还原备份数据适用于跨版本和跨平台的恢复 postgersql增量备份步骤 1.首先创建归档目录 例如:归档目录为/archive_pg_xlog/xlog 1>mkdir -p /archive_pg_xlog/xlog 2>chown -R postgres:postgres /archive_p

  • Access数据库提示OleDbException (0x80004005): 操作必须使用一个可更新的查询

    说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Data.OleDb.OleDbException: 无法从指定的数据表中删除. 源错误: 行 37: comm.CommandText = sqlstr; 行 38: //comm.Prepare(); 行 39: cout = comm.ExecuteNonQuery(); 行 40: 行 41: conn.Close(); 源文件:

  • mysql数据库 主从复制的配置方法

    MySQL支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维 护日志文件的一个索引以跟踪日志循环.当一个从服务器连接到主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那 时起发生的任何更新,然后封锁并等待主服务器通知下一次更新. 为什么使用主从复制? 1.主服务器/从服务器设置增加了健壮性.主服务器出现问题时,你可以切换到从服务器作为备份. 2.通过在主服务器和从服务器之间切分处理

  • sql数据库修改sa密码操作教程

    SQL Server Sa用户相信大家都有一定的理解,下面就为您介绍SQL Server 2000身份验证模式的修改方法及SQL Server Sa用户的密码修改方法,供您参考. 1.如何修改SQL Server 2000身份验证模式? 分析:由于千方百剂软件,在数据库安全方面采用了最安全的方式"混合模式",它主要应用于网络主要是Novell网络或者对等网,使用SPX/IP协议和SQL Server验证模式. 优点如下: 创建了Windows NT/2000之上的另外一个安全层次. 支

  • 使用imp和exp命令对Oracle数据库进行导入导出操作详解

    这里导入导出路径都在D盘下,默认文件名为:example.dmp exp方式导出数据 相关参数项如下: 关键字 说明 默认 USERID 用户名/口令 FULL 导出整个文件 (N) BUFFER 数据缓冲区的大小 OWNER 导出指定的所有者用户名列表 FILE 输出文件 (EXPDAT.DMP) TABLES 导出指定的表名列表 COMPRESS 是否压缩导出的文件 (Y) RECORDLENGTH IO 记录的长度 GRANTS 导出权限 (Y) INCTYPE 增量导出类型 INDEXE

  • MySQL数据库主从复制原理及作用分析

    目录 1.数据库主从分类: 2.mysql主从介绍由来 3.主从作用 4.主从复制原理 5.主从复制配置(数据一致时) 5.1主从服务器分别安装mysql5.7 5.2主数据库与从数据库数据一致 5.3在主数据库里创建一个同步账号授权给从数据库使用 5.4在从库上测试连接 5.5配置主数据库 5.6配置从数据库 5.7配置并启动主从复制的功能(mysql02从数据库上) 5.8测试: 主库: 从库: 主库创建数据库clq并且加入数据: 从库中查看: 6.主从配置(数据不一致时) 6.1一般全备主

  • MySQL数据库主从复制与读写分离

    目录 一.主从复制 主从复制三线程 主从复制的过程: 主从复制的策略: 主从复制高延迟 二.读写分离 读写分离概念 读写分离原因与场景 总结 一.主从复制        主从复制:在实际的生产中,为了解决Mysql的单点故障以及提高MySQL的整体服务性能,一般都会采用主从复制.即:对数据库中的数据.语句做备份. 主从复制三线程        Mysql的主从复制中主要有三个线程:master(binlog dump thread).slave(I/O thread .SQL thread),M

随机推荐