• postgresql 10.x stream status check


    有些名称发生了变化,xlog =>wal,location => lsn

    pg_xlog_location_diff            pg_wal_lsn_diff
    pg_current_xlog_location         pg_current_wal_lsn
    pg_current_xlog_insert_location  pg_current_wal_insert_lsn
    postgres=# select * from pg_stat_replication;
    -[ RECORD 1 ]----+------------------------------
    pid              | 17836
    usesysid         | 16674
    usename          | replicator
    application_name | walreceiver
    client_addr      | 192.168.56.101
    client_hostname  | 
    client_port      | 12955
    backend_start    | 2018-03-01 17:03:29.129844+08
    backend_xmin     | 
    state            | streaming
    sent_lsn         | 0/4CCFB4B8
    write_lsn        | 0/4CCFB4B8
    flush_lsn        | 0/4CCFB4B8
    replay_lsn       | 0/4CCFB4B8
    write_lag        | 
    flush_lag        | 
    replay_lag       | 
    sync_priority    | 0
    sync_state       | async

    主库查询流复制落后字节数,主要看replay_delay数!
    在主库 postgres超级用户连接到postgres库。
    pg_current_wal_insert_lsn() 写入 wal buffer 的位置
    pg_current_wal_lsn() 写入 wal 文件的位置

    select client_addr, 
           pg_wal_lsn_diff(pg_current_wal_insert_lsn(), pg_current_wal_lsn() ) as local_noflush_delay,
           pg_wal_lsn_diff(pg_current_wal_lsn(), sent_lsn) as local_sent_delay,
           pg_wal_lsn_diff(sent_lsn, write_lsn) as stream_write_delay,
           pg_wal_lsn_diff(sent_lsn, flush_lsn) as stream_flush_delay,
           pg_wal_lsn_diff(sent_lsn, replay_lsn) as stream_replay_delay 
    from pg_stat_replication
    ;

    执行如下

    postgres=# select client_addr, 
    postgres-#        pg_wal_lsn_diff(pg_current_wal_insert_lsn(), pg_current_wal_lsn() ) as local_noflush_delay,
    postgres-#        pg_wal_lsn_diff(pg_current_wal_lsn(), sent_lsn) as local_sent_delay,
    postgres-#        pg_wal_lsn_diff(sent_lsn, write_lsn) as stream_write_delay,
    postgres-#        pg_wal_lsn_diff(sent_lsn, flush_lsn) as stream_flush_delay,
    postgres-#        pg_wal_lsn_diff(sent_lsn, replay_lsn) as stream_replay_delay 
    postgres-# from pg_stat_replication;
    -[ RECORD 1 ]-------+------------
    client_addr         | 192.168.56.101
    local_noflush_delay | 0
    local_sent_delay    | 0
    stream_write_delay  | 0
    stream_flush_delay  | 0
    stream_replay_delay | 0

    参考
    https://www.postgresql.org/docs/10/static/functions-admin.html

  • 相关阅读:
    Ubuntu18.04下的音频录制和编辑软件Ardour及QjackCtl(jackd gui)
    Adobe After Effects CS6 操作记录
    编译安装和apt安装Nginx1.14.0
    Centos7.4和Ubuntu18.04安装PHP7.2
    Ubuntu与Windows7双系统下, 系统时间不一致的问题
    关于Thinkpad的立体声麦克风输入
    坑人的小米净水器: 漏水, 废水堵塞, 费用陷阱
    Photoshop CS6 操作记录
    Win7 64bit下值得推荐的免费看图软件
    Redis C客户端Hiredis代码分析
  • 原文地址:https://www.cnblogs.com/ctypyb2002/p/9793051.html
Copyright © 2020-2023  润新知