- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我们的 PostgreSQL 9.5 数据库实现定期增量更改转储。
我选择了 WAL、wal2json
插件和 pg_recvlogical
。一切都以某种方式工作,除了一件事:
当所有数据都被读取时,pg_recvlogical
就变得安静了。没有办法让它在一段时间后不做任何更改就退出,对吧?所以我用 kill -2
(SIGINT) 终止它,这给了我
pg_recvlogical: unexpected termination of replication stream:
当我想要下一批更改时,复制槽从与以前相同的位置开始,即再次发送条目。
我如何告诉 PostgreSQL 对于某个槽,我想将复制位置设置为客户端的当前位置?
似乎有 2 个函数可以做到这一点,
SELECT * FROM pg_replication_origin_advance(node_name text, pos pg_lsn)
SELECT * FROM pg_replication_origin_progress(node_name text, flush bool)
但是,我不确定要传递什么作为参数。 manual doesn't tell . node_name 是什么?对于这个位置,wal2json
给我的是 xid
。
更新:我可以使用pg_replication_origin_advance("sas2json", "28/160E2250")
,看我的回答。 但是,当我尝试时:
ERROR: only superusers can query or manipulate replication origins
这是在 Amazon RDS 中。我不能拥有 SUPERUSER - 这是 AWS 政策。
还有其他设置LSN位置的方法吗?
最佳答案
我发现我可以为 wal2json
启用 -o include-lsn=true
。有了它,它开始给我
{"xid":48311,"nextlsn":"28/160E2250", ...
所以我可以使用nextlsn
来调用
SELECT * FROM pg_replication_origin_advance("sas2json", "28/160E2250")
第一个参数是复制槽。
虽然这回答了我最初的问题,但我需要一个不需要 SUPERUSER 的解决方案 - 如果有的话。
关于PostgreSQL 复制 - 如何在使用 pg_recvlogical 和 wal2json 读取后更新 LSN? (没有 super 用户),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51749246/
Postgres 逻辑复制初始同步过程非常缓慢,尤其是在原始数据库非常大的情况下。 我想知道是否可以从给定的 LSN 开始复制? 所需的工作流程将是 从源数据库获取当前LSN 在源数据库中创建所需对象
当我执行时 SELECT [Current LSN] FROM sys.fn_dblog(NULL,NULL) LSN 值以格式显示 '000000CB:00000055:0002' 但是,当我尝试以
在 SQL 中很容易,因为它支持用于比较的二进制 (10) LSN 值: SELECT *, __$start_lsn, __$seqval FROM cdc.fn_cdc_get_all_chang
我使用 PostgreSQL 逻辑解码功能来检索 WAL 内容: SELECT * FROM pg_create_logical_replication_slot(...) SELECT * FROM
我正在尝试为我们的 PostgreSQL 9.5 数据库实现定期增量更改转储。 我选择了 WAL、wal2json 插件和 pg_recvlogical。一切都以某种方式工作,除了一件事: 当所有数据
我是一名优秀的程序员,十分优秀!