pg_resetxlog清理的pg_xlog下的WAL日志-创新互联

PostgreSQL的pg_xlog下有大量日志,空间不足,如何删除?

成都创新互联公司公司2013年成立,公司自成立以来始终致力于为企业提供官网建设、移动互联网业务开发(成都小程序开发、手机网站建设、重庆App定制开发等),并且包含互联网基础服务(域名、主机服务、企业邮箱、网络营销等)应用服务;以先进完善的建站体系及不断开拓创新的精神理念,帮助企业客户实现互联网业务,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞誉。

Darren1:postgres:/usr/local/pgsql/data/pg_xlog:>ls

000000010000000000000008.00000028.backup  00000001000000000000009D  0000000100000000000000C9  0000000100000000000000F5  000000010000000100000021  00000001000000010000004D

000000010000000000000072                  00000001000000000000009E  0000000100000000000000CA  0000000100000000000000F6  000000010000000100000022  00000001000000010000004E

000000010000000000000073                  00000001000000000000009F  0000000100000000000000CB  0000000100000000000000F7  000000010000000100000023  00000001000000010000004F

......

Darren1:postgres:/usr/local/pgsql/data/pg_xlog:>ll|wc -l

263

Darren1:postgres:/usr/local/pgsql/data/pg_xlog:>du -sh /usr/local/pgsql/data/pg_xlog/

4.1G    /usr/local/pgsql/data/pg_xlog/

清理步骤:

pg_resetxlog用来清理WAL日志,当数据库服务启动的情况下,是不能使用的,所以执行之前需要停机。

(1)停机

Darren1:postgres:/usr/local/pgsql/bin:>pg_ctl stop -m fast

(2)查看NextXID和NextOID(发生checkpoint的时候,这两个值会发生改变)

Darren1:postgres:/usr/local/pgsql/bin:>pg_controldata

pg_control version number:            960

Catalog version number:               201608131

Database system identifier:           6446917631406040181

Database cluster state:               shut down

pg_control last modified:             Thu 27 Jul 2017 05:04:12 AM CST

Latest checkpoint location:           1/73000028

Prior checkpoint location:            1/720048F8

Latest checkpoint's REDO location:    1/73000028

Latest checkpoint's REDO WAL file:    000000010000000100000073

Latest checkpoint's TimeLineID:       1

Latest checkpoint's PrevTimeLineID:   1

Latest checkpoint's full_page_writes: on

Latest checkpoint's NextXID:          0:19545

Latest checkpoint's NextOID:          16646

......

(3)使用pg_resetxlog,指定oid和xid

Darren1:postgres:/usr/local/pgsql/bin:>pg_resetxlog -o 16646 -x 19545 -f /usr/local/pgsql/data/

Transaction log reset

Darren1:postgres:/usr/local/pgsql/data/pg_xlog:>ll

-rw-------. 1 postgres dba      302 Jul 26 12:12 000000010000000000000008.00000028.backup

-rw-------. 1 postgres dba 16777216 Jul 27 05:07 000000010000000100000077

drwx------. 2 postgres dba    20480 Jul 27 05:07 archive_status

Darren1:postgres:/usr/local/pgsql/data/pg_xlog:>du -sh /usr/local/pgsql/data/pg_xlog/

17M    /usr/local/pgsql/data/pg_xlog/

(4)启动数据库

Darren1:postgres:/usr/local/pgsql/data/pg_xlog:>pg_ctl start

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:pg_resetxlog清理的pg_xlog下的WAL日志-创新互联
转载来于:http://scyanting.com/article/ehois.html