Move SQL tests of pg_stat_io for WAL data to recovery test 029_stats_restart
Michael Paquier <michael@paquier.xyz>
Move SQL tests of pg_stat_io for WAL data to recovery test 029_stats_restart Three tests in the main regression test suite are proving to not be portable across multiple runs on a deployed cluster as stats of pg_stat_io are reset. Problems happen for tests on: - Writes of WAL in the init context, when creating a WAL segment. - Syncs of WAL in the init context, when creating a WAL segment. - Reads of WAL in the normal context, requiring a WAL record to be read. For a `make check`, this could rely on the checkpoint record read by the startup process when starting the cluster, something that is not going to work for a deployed node. Two of the three tests are moved to the recovery TAP test 029_stats_restart, where we already check the consistency of stats data. The test for syncs is dropped as TAP can run with fsync=off. The other two are checked with some data from a freshly-initialized cluster. Per discussion with Tom Lane, Bertrand Drouvot and Nazir Bilal Yavuz. Discussion: https://postgr.es/m/915687.1738780322@sss.pgh.pa.us
Files
| Path | Change | +/− |
|---|---|---|
| src/test/recovery/t/029_stats_restart.pl | modified | +33 −1 |
| src/test/regress/expected/stats.out | modified | +0 −27 |
| src/test/regress/sql/stats.sql | modified | +0 −14 |
Discussion
- Show WAL write and fsync stats in pg_stat_io 94 messages · 2023-06-28 → 2025-03-19