暂无图片
restart_lsn为什么不是实时的在变化,而是间隔5到10秒刷新一下
我来答
分享
暂无图片 匿名用户
restart_lsn为什么不是实时的在变化,而是间隔5到10秒刷新一下

一个主库,一个从库的逻辑复制场景下,

每隔1秒刷新一次 ,主库执行发现,restart_lsn 不是一直在变,是隔上5到10秒 ,变化一下,为什么?我的数据每秒都在插入,



select slot_name,plugin,slot_type,database,active,restart_lsn from pg_replication_slots where slot_name='sub1';

slot_name | plugin | slot_type | database | active | restart_lsn
-----------+----------+-----------+----------+--------+-------------
sub1 | pgoutput | logical | mydb | t | 1/967CF848


每隔1秒刷新一次 ,数据一直在增长,因为主库有个insert 插入数据的脚本,一直在跑,

select count(8) from t_perl ;


restart_lsn 表示啥含义?


问题2:有什么指标或者系统字段,能分辨出当前正在插入的是小事务,还是执行的大事务,

类似mysql那种,如果执行大事务,replay position 点位会卡住不动 


pg通过什么来区分逻辑复制或者物理复制中,当前执行的是大事务,还是小事务?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
Salvatore-zz

Q1:关于PogtgreSQL中的restart_lsn,这个记录的是逻辑复制重启位置,表示从库已确认的最小 WAL 日志位置。当从库完成对某段 WAL 日志的解析和应用后,会通知主库更新restart_lsn。

Q2:指标的话,pg可以使用pg_stat_activity视图,重点查看下xact_start和state字段,这两个可以参考下。

暂无图片 评论
暂无图片 有用 2
打赏 0
Salvatore-zz

稍微补充下Q1中的estart_lsn可以看下wal_writer_delay这个是怎么设置的,默认是200ms

暂无图片 评论
暂无图片 有用 3
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgresql copy命令可以把服务器上的table数据保存到客户端的文件中吗?
回答 1
不行。
数据湖是用postgreSQL 来实现的?
回答 1
咋想的?那你那个不是数据湖,是数据水库。
pgtt插件编译错误,pg 10.10 ,下载的pgtt 是2.1
回答 1
看看pgtt的项目里的ChangeLog
postgreSQL unlogged 不记录wal日志,从库的数据又是通过wal日志来的,为什么unlogged表还是可以在从库查到数据?
回答 1
尽管unlogged表的更改不会被记录在WAL日志中,但PostgreSQL保留了一些元数据信息来确保从库可以正确地重放主库上的更改。这些元数据信息包括unlogged表的元数据、每个事务的开始和结束
pg_rman增量恢复出错了
回答 2
第一次备份全备[postgres@testdanrmanbackup]$pgrmanbackupbackupmodefullbackuppath/backup/rmanbackupINFO:copyi
postgresql怎么查行数?
回答 2
count一下这个表。
简单id查询,几百毫秒的postgresql数据库响应速度算很慢吗?
回答 1
算。任何一个数据库这样都不对。
postgresql 备机回放wal很慢, 这个和哪个参数可以控制?
回答 1
这个默认都很快不用参数调整控制。看看其他方面。CPU负荷,IO符合等等。
pg_dump备份时候wal日志也会备份吗?
回答 2
pgdump是逻辑备份,备份数据或结构,物理备份pgbasebackup才会备份wal日志文件。
流复制和逻辑复制中主库vacuum,是否会复制到备库上??
回答 1
流复制场景下主库上进行VACUUM后,从库上也会执行这个操作逻辑复制场景下vacuum不会复制到备库,备库需要手动vacuum一次
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~