当前位置:首页 > 报告详情

PostgreSQL的逻辑复制spill溢出案例和启停库逻辑-刘智龙.pdf

上传人: 茫然 编号:731532 2025-07-14 36页 654.83KB

1、PostgreSQLPostgreSQL的逻辑复制的逻辑复制spillspill溢出溢出案例和启停库案例和启停库逻辑逻辑IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛walsenderwalsender、archiverarchiver阻止阻止停库停库怎么优雅停库spillspill阻止起库阻止起库:怎么加速起库起库起库逻辑逻辑目录CONTENTSIvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛停库逻辑停库逻辑walsenderwal

2、sender、archiverarchiver阻止阻止停库,停库,如何优雅如何优雅停库停库IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛walsender阻止停库时,数据库的停库状态:1 110402 110402 110402?-1 Ss 6001 0:00 postgres-D/myhost/pg/data110402 110599 110599 110599?-1 Ss 6001 0:00 _ postgres:lzlpg:logger 110402 117803 117803 117803?-1 Ss 6

3、001 0:00 _ postgres:lzlpg:checkpointer 110402 117807 117807 117807?-1 Ss 6001 0:00 _ postgres:lzlpg:stats collector 110402 118563 118563 118563?-1 Rs 6001 3:29 _ postgres:lzlpg:walsender lzl 127.0.0.1(62971)idle110402 222918 222918 222918?-1 Rs 6001 2:59 _ postgres:lzlpg:walsender logicaluser 30.181

4、.46.203(57218)idleIvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛此时的控制文件:pg_controldata|grep-i stateDatabase cluster state:in productionwalsenderwalsender阻止阻止停库停库pstack 117803#0 0 x00002b879fe0b983 in _select_nocancel()from/lib64/libc.so.6#1 0 x00000000008fd04a in pg_usleep(microsec

5、=microsecentry=10000)at pgsleep.c:56#2 0 x00000000007610c8 in WalSndWaitStopping()at walsender.c:3209#3 0 x000000000051fa86 in ShutdownXLOG(code=codeentry=0,arg=argentry=0)at xlog.c:8596#4 0 x00000000007215ff in HandleCheckpointerInterrupts()at checkpointer.c:566#5 CheckpointerMain()at checkpointer.

6、c:343.IvorySQL 2025IvorySQL 2025生态大会生态大会暨暨PostgreSQLPostgreSQL高峰论坛高峰论坛此时的checkpointer堵在WalSndWaitStopping函数,代表checkpointer在等待walsender进程进入stopping状态此时库是停一半的状态,如果强行kill-9,会导致数据库是非一致性停库非一致性停库walsenderwalsender阻止阻止停库停库walsender阻止停库该怎么办?-方案1:关闭下游进程-方案2:发送SIGTERM给walsender怎么优雅的怎么优雅的停库停库IvorySQL 2025Ivory

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要讨论了PostgreSQL逻辑复制中的spill溢出问题以及数据库的启停逻辑。关键点如下: 1. Spill溢出会导致起库缓慢,文章中提及有1000万个spill文件,严重影响系统性能。 2. 在停库过程中,walsender和archiver进程可能会阻止数据库正常停止。 3. 提供了两种停库方案:关闭下游进程和发送SIGTERM给walsender。 4. 对于加速起库,文章提出通过重命名复制槽目录来跳过清理spill文件的步骤,从而加速起库过程。 核心数据引用: - 1000万个spill文件。 - 两种停库方案:关闭下游进程和发送SIGTERM给walsender。 - 加速起库技巧:重命名复制槽目录。
"起库遭遇Spill溢出怎么办?" "如何优雅停库避免数据丢失?" "加速起库,你试过这些方法吗?"
客服
商务合作
小程序
服务号
折叠