分析PostgreSQL DBA中新增的WAL选项
这篇文章主要讲解了“分析PostgreSQL DBA中新增的WAL选项”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析PostgreSQL DBA中新增的WAL选项”吧!
在PG 13中,explain命令增加了WAL选项,可查看命令执行过程中产生的WAL日志大小,对于写敏感的应用来说,可通过该命令观察WAL日志的统计信息.
新增的WAL选项
[local:/data/run/pg13]:5130pg13@masterdb=#\helpexplainCommand:EXPLAINDescription:showtheexecutionplanofastatementSyntax:EXPLAIN[(option[,...])]statementEXPLAIN[ANALYZE][VERBOSE]statementwhereoptioncanbeoneof:ANALYZE[boolean]VERBOSE[boolean]COSTS[boolean]SETTINGS[boolean]BUFFERS[boolean]WAL[boolean]TIMING[boolean]SUMMARY[boolean]FORMAT{TEXT|XML|JSON|YAML}URL:https://www.postgresql.org/docs/devel/sql-explain.html[local:/data/run/pg13]:5130pg13@masterdb=#
试用体验
执行checkpoint后运行SQL,WAL日志会写full page
[local:/data/run/pg13]:5130pg13@masterdb=#checkpoint;CHECKPOINT[local:/data/run/pg13]:5130pg13@masterdb=#explain(analyze,wal)updatetmpsetid=1;QUERYPLAN----------------------------------------------------------------------------------------------------------------------Updateontmp(cost=0.00..23275.00rows=1000000width=10)(actualtime=1636.839..1636.839rows=0loops=1)WAL:records=1999840fullpagewrites=8851bytes=172345779->SeqScanontmp(cost=0.00..23275.00rows=1000000width=10)(actualtime=4.686..100.211rows=1000000loops=1)PlanningTime:0.149msExecutionTime:1636.923ms(5rows)
再次执行SQL,没有写full page,日志大小相应的减少
[local:/data/run/pg13]:5130pg13@masterdb=#explain(analyze,wal)updatetmpsetid=1;QUERYPLAN---------------------------------------------------------------------------------------------------------------------Updateontmp(cost=0.00..23275.00rows=1000000width=10)(actualtime=3661.261..3661.261rows=0loops=1)WAL:records=1999719bytes=131982016->SeqScanontmp(cost=0.00..23275.00rows=1000000width=10)(actualtime=3.920..98.921rows=1000000loops=1)PlanningTime:0.088msExecutionTime:3661.310ms(5rows)
节省23%的空间,38KB大小
[local:/data/run/pg13]:5130pg13@masterdb=#select(172345779-131982016)/172345779::float;?column?---------------------0.23420221391090756(1row)[local:/data/run/pg13]:5130pg13@masterdb=#select(172345779-131982016)/1024/1024;?column?----------38(1row)
感谢各位的阅读,以上就是“分析PostgreSQL DBA中新增的WAL选项”的内容了,经过本文的学习后,相信大家对分析PostgreSQL DBA中新增的WAL选项这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。