postgresql/src
Michael Paquier ae58189a4d pgstattuple: Optimize pgstattuple_approx() with streaming read
This commit plugs into pgstattuple_approx(), the SQL function faster
than pgstattuple() that returns approximate results, the streaming read
APIs.  A callback is used to be able to skip all-visible pages via VM
lookup, to match with the logic prior to this commit.

Under test conditions similar to 6c228755ad (some dm_delay and
debug_io_direct=data), this can substantially improve the execution time
of the function, particularly for large relations.

Author: Xuneng Zhou <xunengzhou@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Nazir Bilal Yavuz <byavuz81@gmail.com>
Discussion: https://postgr.es/m/CABPTF7VrqfbcDXqGrdLQ2xaQ=K0RzExNuw6U_GGqzSJu32wfdQ@mail.gmail.com
2026-03-14 15:06:13 +09:00
..
backend Allow sibling call optimization in slot_getsomeattrs_int() 2026-03-14 13:52:09 +13:00
bin Introduce the REPACK command 2026-03-10 19:56:39 +01:00
common Don't include wait_event.h in pgstat.h 2026-03-06 16:24:58 +01:00
fe_utils pg_dumpall: Fix handling of conflicting options. 2026-03-06 14:00:04 -06:00
include Allow sibling call optimization in slot_getsomeattrs_int() 2026-03-14 13:52:09 +13:00
interfaces libpq-oauth: Fix Makefile dependencies 2026-03-13 10:34:03 -07:00
makefiles Restore AIX support. 2026-02-23 13:34:22 -05:00
pl EUC_CN, EUC_JP, EUC_KR, EUC_TW: Skip U+00A0 tests instead of failing. 2026-02-25 18:13:22 -08:00
port Check for memset_explicit() and explicit_memset() 2026-03-02 07:51:19 +01:00
template Restore AIX support. 2026-02-23 13:34:22 -05:00
test Add convenience view to stats import test. 2026-03-13 15:04:10 -05:00
timezone Use fallthrough attribute instead of comment 2026-02-19 08:51:12 +01:00
tools pgstattuple: Optimize pgstattuple_approx() with streaming read 2026-03-14 15:06:13 +09:00
tutorial Force standard_conforming_strings to always be ON. 2026-01-21 15:08:38 -05:00
.gitignore
DEVELOPERS
Makefile Remove distprep 2023-11-06 15:18:04 +01:00
Makefile.global.in tests: Add a test C++ extension module 2026-01-20 16:42:30 +01:00
Makefile.shlib Restore AIX support. 2026-02-23 13:34:22 -05:00
meson.build Update copyright for 2026 2026-01-01 13:24:10 -05:00
nls-global.mk Fix update-po for the PGXS case 2025-10-16 20:21:05 +02:00