=== Applying patches on top of PostgreSQL commit ID 6831cd9e3b082d7b830c3196742dd49e3540c49b === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Sat Jan 17 06:34:33 UTC 2026 On branch cf/5012 nothing to commit, working tree clean === using 'git am' to apply patch ./v26-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch === Applying: Machinery for grabbing an extended vacuum statistics on table relations. Using index info to reconstruct a base tree... M src/backend/access/heap/vacuumlazy.c M src/backend/access/heap/visibilitymap.c M src/backend/catalog/system_views.sql M src/backend/commands/vacuum.c M src/backend/commands/vacuumparallel.c M src/backend/utils/activity/pgstat_relation.c M src/backend/utils/adt/pgstatfuncs.c M src/include/catalog/pg_proc.dat M src/include/commands/vacuum.h M src/include/pgstat.h M src/test/isolation/isolation_schedule M src/test/regress/expected/rules.out M src/test/regress/parallel_schedule Falling back to patching base and 3-way merge... Auto-merging src/test/regress/parallel_schedule Auto-merging src/test/regress/expected/rules.out Auto-merging src/test/isolation/isolation_schedule Auto-merging src/include/pgstat.h Auto-merging src/include/commands/vacuum.h Auto-merging src/include/catalog/pg_proc.dat CONFLICT (content): Merge conflict in src/include/catalog/pg_proc.dat Auto-merging src/backend/utils/adt/pgstatfuncs.c Auto-merging src/backend/utils/activity/pgstat_relation.c Auto-merging src/backend/commands/vacuumparallel.c Auto-merging src/backend/commands/vacuum.c Auto-merging src/backend/catalog/system_views.sql Auto-merging src/backend/access/heap/visibilitymap.c Auto-merging src/backend/access/heap/vacuumlazy.c CONFLICT (content): Merge conflict in src/backend/access/heap/vacuumlazy.c error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Machinery for grabbing an extended vacuum statistics on table relations. When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". Unstaged changes after reset: M src/backend/access/heap/vacuumlazy.c M src/backend/access/heap/visibilitymap.c M src/backend/catalog/system_views.sql M src/backend/commands/vacuum.c M src/backend/commands/vacuumparallel.c M src/backend/utils/activity/pgstat_relation.c M src/backend/utils/adt/pgstatfuncs.c M src/backend/utils/misc/postgresql.conf.sample M src/include/catalog/pg_proc.dat M src/include/commands/vacuum.h M src/include/pgstat.h M src/test/isolation/isolation_schedule M src/test/regress/expected/rules.out M src/test/regress/parallel_schedule Removing src/test/isolation/expected/vacuum-extending-in-repetable-read.out Removing src/test/isolation/specs/vacuum-extending-in-repetable-read.spec Removing src/test/recovery/t/050_vacuum_extending_basic_test.pl Removing src/test/recovery/t/051_vacuum_extending_freeze_test.pl === using patch(1) to apply patch ./v26-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch === patching file src/backend/access/heap/vacuumlazy.c Hunk #1 succeeded at 287 (offset -2 lines). Hunk #5 FAILED at 758. Hunk #6 succeeded at 787 (offset 1 line). Hunk #7 succeeded at 805 (offset 1 line). Hunk #8 succeeded at 916 (offset 3 lines). Hunk #9 succeeded at 1079 (offset 11 lines). Hunk #10 succeeded at 1110 (offset 11 lines). Hunk #11 succeeded at 3181 (offset 27 lines). 1 out of 11 hunks FAILED -- saving rejects to file src/backend/access/heap/vacuumlazy.c.rej patching file src/backend/access/heap/visibilitymap.c patching file src/backend/catalog/system_views.sql patching file src/backend/commands/vacuum.c patching file src/backend/commands/vacuumparallel.c patching file src/backend/utils/activity/pgstat_relation.c patching file src/backend/utils/adt/pgstatfuncs.c patching file src/backend/utils/misc/postgresql.conf.sample patching file src/include/catalog/pg_proc.dat Hunk #1 succeeded at 12690 with fuzz 2 (offset 78 lines). patching file src/include/commands/vacuum.h patching file src/include/pgstat.h patching file src/test/isolation/expected/vacuum-extending-in-repetable-read.out patching file src/test/isolation/isolation_schedule Hunk #1 succeeded at 99 (offset 1 line). patching file src/test/isolation/specs/vacuum-extending-in-repetable-read.spec patching file src/test/recovery/t/050_vacuum_extending_basic_test.pl patching file src/test/recovery/t/051_vacuum_extending_freeze_test.pl patching file src/test/regress/expected/rules.out Hunk #1 succeeded at 1846 (offset 2 lines). Hunk #2 succeeded at 2270 (offset 2 lines). Hunk #3 succeeded at 2327 (offset 2 lines). patching file src/test/regress/parallel_schedule Unstaged changes after reset: M src/backend/access/heap/vacuumlazy.c M src/backend/access/heap/visibilitymap.c M src/backend/catalog/system_views.sql M src/backend/commands/vacuum.c M src/backend/commands/vacuumparallel.c M src/backend/utils/activity/pgstat_relation.c M src/backend/utils/adt/pgstatfuncs.c M src/backend/utils/misc/postgresql.conf.sample M src/include/catalog/pg_proc.dat M src/include/commands/vacuum.h M src/include/pgstat.h M src/test/isolation/isolation_schedule M src/test/regress/expected/rules.out M src/test/regress/parallel_schedule Removing src/backend/access/heap/vacuumlazy.c.rej Removing src/test/isolation/expected/vacuum-extending-in-repetable-read.out Removing src/test/isolation/specs/vacuum-extending-in-repetable-read.spec Removing src/test/recovery/t/050_vacuum_extending_basic_test.pl Removing src/test/recovery/t/051_vacuum_extending_freeze_test.pl === using 'git apply' to apply patch ./v26-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch === Applied patch to 'src/backend/access/heap/vacuumlazy.c' with conflicts. Applied patch to 'src/backend/access/heap/visibilitymap.c' cleanly. Applied patch to 'src/backend/catalog/system_views.sql' cleanly. Applied patch to 'src/backend/commands/vacuum.c' cleanly. Applied patch to 'src/backend/commands/vacuumparallel.c' cleanly. Applied patch to 'src/backend/utils/activity/pgstat_relation.c' cleanly. Applied patch to 'src/backend/utils/adt/pgstatfuncs.c' cleanly. Applied patch to 'src/backend/utils/misc/postgresql.conf.sample' cleanly. Applied patch to 'src/include/catalog/pg_proc.dat' with conflicts. Applied patch to 'src/include/commands/vacuum.h' cleanly. Applied patch to 'src/include/pgstat.h' cleanly. Falling back to direct application... Applied patch to 'src/test/isolation/isolation_schedule' cleanly. Falling back to direct application... Falling back to direct application... Falling back to direct application... Applied patch to 'src/test/regress/expected/rules.out' cleanly. Applied patch to 'src/test/regress/parallel_schedule' cleanly. U src/backend/access/heap/vacuumlazy.c U src/include/catalog/pg_proc.dat diff --cc src/backend/access/heap/vacuumlazy.c index 1fcb212ab3d,66e09d0a0cf..00000000000 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@@ -645,7 -758,13 +758,17 @@@ heap_vacuum_rel(Relation rel, const Vac BufferUsage startbufferusage = pgBufferUsage; ErrorContextCallback errcallback; char **indnames = NULL; ++<<<<<<< ours + Size dead_items_max_bytes = 0; ++======= + LVExtStatCounters extVacCounters; + ExtVacReport extVacReport; + ExtVacReport allzero; + + /* Initialize vacuum statistics */ + memset(&allzero, 0, sizeof(ExtVacReport)); + extVacReport = allzero; ++>>>>>>> theirs verbose = (params.options & VACOPT_VERBOSE) != 0; instrument = (verbose || (AmAutoVacuumWorkerProcess() && diff --cc src/include/catalog/pg_proc.dat index 894b6a1b6d6,915a5a7822f..00000000000 --- a/src/include/catalog/pg_proc.dat +++ b/src/include/catalog/pg_proc.dat @@@ -12635,59 -12612,22 +12635,80 @@@ proargnames => '{pid,io_id,io_generation,state,operation,off,length,target,handle_data_len,raw_result,result,target_desc,f_sync,f_localmem,f_buffered}', prosrc => 'pg_get_aios' }, ++<<<<<<< ours +# oid8 related functions +{ oid => '8255', descr => 'convert oid to oid8', + proname => 'oid8', prorettype => 'oid8', proargtypes => 'oid', + prosrc => 'oidtooid8' }, +{ oid => '8257', descr => 'I/O', + proname => 'oid8in', prorettype => 'oid8', proargtypes => 'cstring', + prosrc => 'oid8in' }, +{ oid => '8258', descr => 'I/O', + proname => 'oid8out', prorettype => 'cstring', proargtypes => 'oid8', + prosrc => 'oid8out' }, +{ oid => '8259', descr => 'I/O', + proname => 'oid8recv', prorettype => 'oid8', proargtypes => 'internal', + prosrc => 'oid8recv' }, +{ oid => '8260', descr => 'I/O', + proname => 'oid8send', prorettype => 'bytea', proargtypes => 'oid8', + prosrc => 'oid8send' }, +# Comparators +{ oid => '8268', + proname => 'oid8eq', proleakproof => 't', prorettype => 'bool', + proargtypes => 'oid8 oid8', prosrc => 'oid8eq' }, +{ oid => '8269', + proname => 'oid8ne', proleakproof => 't', prorettype => 'bool', + proargtypes => 'oid8 oid8', prosrc => 'oid8ne' }, +{ oid => '8270', + proname => 'oid8lt', proleakproof => 't', prorettype => 'bool', + proargtypes => 'oid8 oid8', prosrc => 'oid8lt' }, +{ oid => '8271', + proname => 'oid8le', proleakproof => 't', prorettype => 'bool', + proargtypes => 'oid8 oid8', prosrc => 'oid8le' }, +{ oid => '8272', + proname => 'oid8gt', proleakproof => 't', prorettype => 'bool', + proargtypes => 'oid8 oid8', prosrc => 'oid8gt' }, +{ oid => '8273', + proname => 'oid8ge', proleakproof => 't', prorettype => 'bool', + proargtypes => 'oid8 oid8', prosrc => 'oid8ge' }, +# Aggregates +{ oid => '8274', descr => 'larger of two', + proname => 'oid8larger', prorettype => 'oid8', proargtypes => 'oid8 oid8', + prosrc => 'oid8larger' }, +{ oid => '8275', descr => 'smaller of two', + proname => 'oid8smaller', prorettype => 'oid8', proargtypes => 'oid8 oid8', + prosrc => 'oid8smaller' }, +{ oid => '8276', descr => 'maximum value of all oid8 input values', + proname => 'max', prokind => 'a', proisstrict => 'f', prorettype => 'oid8', + proargtypes => 'oid8', prosrc => 'aggregate_dummy' }, +{ oid => '8277', descr => 'minimum value of all oid8 input values', + proname => 'min', prokind => 'a', proisstrict => 'f', prorettype => 'oid8', + proargtypes => 'oid8', prosrc => 'aggregate_dummy' }, +{ oid => '8280', descr => 'hash', + proname => 'hashoid8', prorettype => 'int4', proargtypes => 'oid8', + prosrc => 'hashoid8' }, +{ oid => '8281', descr => 'hash', + proname => 'hashoid8extended', prorettype => 'int8', + proargtypes => 'oid8 int8', prosrc => 'hashoid8extended' }, + ++======= + { oid => '8001', + descr => 'pg_stat_get_vacuum_tables returns vacuum stats values for table', + proname => 'pg_stat_get_vacuum_tables', prorows => 1000, provolatile => 's', prorettype => 'record',proisstrict => 'f', + proretset => 't', + proargtypes => 'oid', + proallargtypes => '{oid,oid,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int8,int4,int8,int8,int8,numeric,float8,float8,float8,float8}', + proargmodes => '{i,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', + proargnames => '{reloid,relid,total_blks_read,total_blks_hit,total_blks_dirtied,total_blks_written,rel_blks_read,rel_blks_hit,pages_scanned,pages_removed,vm_new_frozen_pages,vm_new_visible_pages,vm_new_visible_frozen_pages,missed_dead_pages,tuples_deleted,tuples_frozen,recently_dead_tuples,missed_dead_tuples,wraparound_failsafe,index_vacuum_count,wal_records,wal_fpi,wal_bytes,blk_read_time,blk_write_time,delay_time,total_time}', + prosrc => 'pg_stat_get_vacuum_tables' }, + + { oid => '8002', descr => 'statistics: number of times the all-visible pages in the visibility map was removed for pages of table', + proname => 'pg_stat_get_rev_all_visible_pages', provolatile => 's', + proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', + prosrc => 'pg_stat_get_rev_all_visible_pages' }, + { oid => '8003', descr => 'statistics: number of times the all-frozen pages in the visibility map was removed for pages of table', + proname => 'pg_stat_get_rev_all_frozen_pages', provolatile => 's', + proparallel => 'r', prorettype => 'int8', proargtypes => 'oid', + prosrc => 'pg_stat_get_rev_all_frozen_pages' }, ++>>>>>>> theirs ]