This reverts much of commit
f03a9ca4366d064d89b7cf7ed75d4e43f2ed0667,
but leaves the relpages/reltuples probe in select_parallel.sql.
The pg_stat_all_tables probes are unstable enough to be annoying,
and it no longer seems likely that they will teach us anything more
about the underlying problem. I'd still like some more confirmation
though that the observed plan instability is caused by VACUUM leaving
relpages/reltuples as zero for one of these tables.
Discussion: https://postgr.es/m/CA+hUKG+0CxrKRWRMf5ymN3gm+BECHna2B-q1w8onKBep4HasUw@mail.gmail.com
f_star | 1 | 16
(6 rows)
-select relname, vacuum_count, analyze_count, autovacuum_count, autoanalyze_count
-from pg_stat_all_tables
-where relname like '__star' order by relname;
- relname | vacuum_count | analyze_count | autovacuum_count | autoanalyze_count
----------+--------------+---------------+------------------+-------------------
- a_star | 1 | 0 | 0 | 0
- b_star | 1 | 0 | 0 | 0
- c_star | 1 | 0 | 0 | 0
- d_star | 1 | 0 | 0 | 0
- e_star | 1 | 0 | 0 | 0
- f_star | 1 | 0 | 0 | 0
-(6 rows)
-
-- Disable Parallel Append
alter table a_star reset (parallel_workers);
alter table b_star reset (parallel_workers);
t
(1 row)
--- Temporary hack to investigate whether extra vacuum/analyze is happening
-select relname, relpages, reltuples
-from pg_class
-where relname like '__star' order by relname;
- relname | relpages | reltuples
----------+----------+-----------
- a_star | 1 | 3
- b_star | 1 | 4
- c_star | 1 | 4
- d_star | 1 | 16
- e_star | 1 | 7
- f_star | 1 | 16
-(6 rows)
-
-select relname, vacuum_count, analyze_count, autovacuum_count, autoanalyze_count
-from pg_stat_all_tables
-where relname like '__star' order by relname;
- relname | vacuum_count | analyze_count | autovacuum_count | autoanalyze_count
----------+--------------+---------------+------------------+-------------------
- a_star | 1 | 0 | 0 | 0
- b_star | 1 | 0 | 0 | 0
- c_star | 1 | 0 | 0 | 0
- d_star | 1 | 0 | 0 | 0
- e_star | 1 | 0 | 0 | 0
- f_star | 1 | 0 | 0 | 0
-(6 rows)
-
DROP TABLE trunc_stats_test, trunc_stats_test1, trunc_stats_test2, trunc_stats_test3, trunc_stats_test4;
DROP TABLE prevstats;
-- End of Stats Test
select relname, relpages, reltuples
from pg_class
where relname like '__star' order by relname;
-select relname, vacuum_count, analyze_count, autovacuum_count, autoanalyze_count
-from pg_stat_all_tables
-where relname like '__star' order by relname;
-- Disable Parallel Append
alter table a_star reset (parallel_workers);
SELECT pr.snap_ts < pg_stat_get_snapshot_timestamp() as snapshot_newer
FROM prevstats AS pr;
--- Temporary hack to investigate whether extra vacuum/analyze is happening
-select relname, relpages, reltuples
-from pg_class
-where relname like '__star' order by relname;
-select relname, vacuum_count, analyze_count, autovacuum_count, autoanalyze_count
-from pg_stat_all_tables
-where relname like '__star' order by relname;
-
DROP TABLE trunc_stats_test, trunc_stats_test1, trunc_stats_test2, trunc_stats_test3, trunc_stats_test4;
DROP TABLE prevstats;
-- End of Stats Test