=== Applying patches on top of PostgreSQL commit ID 1aa7cf9eb85972aaf2969306e84f5fc794fbef7f === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Sun Apr 27 22:48:26 UTC 2025 On branch cf/5012 nothing to commit, working tree clean === using 'git am' to apply patch ./v21-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/catalog/system_views.sql M src/backend/commands/vacuum.c M src/backend/utils/activity/pgstat.c M src/backend/utils/activity/pgstat_relation.c M src/backend/utils/error/elog.c M src/backend/utils/misc/guc_tables.c M src/backend/utils/misc/postgresql.conf.sample M src/include/catalog/pg_proc.dat M src/include/pgstat.h M src/include/utils/elog.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/utils/elog.h Auto-merging src/include/pgstat.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/misc/postgresql.conf.sample Auto-merging src/backend/utils/misc/guc_tables.c Auto-merging src/backend/utils/error/elog.c Auto-merging src/backend/utils/activity/pgstat_relation.c Auto-merging src/backend/utils/activity/pgstat.c Auto-merging src/backend/commands/vacuum.c Auto-merging src/backend/catalog/system_views.sql CONFLICT (content): Merge conflict in src/backend/catalog/system_views.sql Auto-merging 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.c M src/backend/utils/activity/pgstat_relation.c M src/backend/utils/adt/pgstatfuncs.c M src/backend/utils/error/elog.c M src/backend/utils/misc/guc_tables.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/include/utils/elog.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/regress/expected/vacuum_tables_statistics.out Removing src/test/regress/sql/vacuum_tables_statistics.sql === using patch(1) to apply patch ./v21-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch === patching file src/backend/access/heap/vacuumlazy.c Hunk #11 succeeded at 3117 (offset 15 lines). patching file src/backend/access/heap/visibilitymap.c patching file src/backend/catalog/system_views.sql Hunk #1 succeeded at 713 (offset 13 lines). Hunk #2 FAILED at 1393. 1 out of 2 hunks FAILED -- saving rejects to file src/backend/catalog/system_views.sql.rej patching file src/backend/commands/vacuum.c Hunk #2 succeeded at 2517 (offset 2 lines). patching file src/backend/commands/vacuumparallel.c patching file src/backend/utils/activity/pgstat.c Hunk #4 succeeded at 896 (offset -3 lines). Hunk #5 succeeded at 964 (offset -3 lines). Hunk #6 succeeded at 1080 (offset -3 lines). Hunk #7 succeeded at 1131 (offset -3 lines). patching file src/backend/utils/activity/pgstat_relation.c Hunk #4 succeeded at 885 (offset 9 lines). Hunk #5 succeeded at 1011 (offset 9 lines). patching file src/backend/utils/adt/pgstatfuncs.c patching file src/backend/utils/error/elog.c Hunk #1 succeeded at 1624 (offset 5 lines). patching file src/backend/utils/misc/guc_tables.c Hunk #1 succeeded at 1508 (offset 12 lines). patching file src/backend/utils/misc/postgresql.conf.sample Hunk #1 succeeded at 665 (offset 7 lines). patching file src/include/catalog/pg_proc.dat Hunk #1 succeeded at 12566 with fuzz 2 (offset 87 lines). patching file src/include/commands/vacuum.h patching file src/include/pgstat.h patching file src/include/utils/elog.h patching file src/test/isolation/expected/vacuum-extending-in-repetable-read.out patching file src/test/isolation/isolation_schedule Hunk #1 succeeded at 96 (offset 1 line). patching file src/test/isolation/specs/vacuum-extending-in-repetable-read.spec patching file src/test/regress/expected/rules.out Hunk #1 succeeded at 1829 (offset 21 lines). Hunk #2 succeeded at 2224 (offset 21 lines). Hunk #3 succeeded at 2278 (offset 21 lines). patching file src/test/regress/expected/vacuum_tables_statistics.out patching file src/test/regress/parallel_schedule Hunk #1 succeeded at 140 (offset 4 lines). patching file src/test/regress/sql/vacuum_tables_statistics.sql 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.c M src/backend/utils/activity/pgstat_relation.c M src/backend/utils/adt/pgstatfuncs.c M src/backend/utils/error/elog.c M src/backend/utils/misc/guc_tables.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/include/utils/elog.h M src/test/isolation/isolation_schedule M src/test/regress/expected/rules.out M src/test/regress/parallel_schedule Removing src/backend/catalog/system_views.sql.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/regress/expected/vacuum_tables_statistics.out Removing src/test/regress/sql/vacuum_tables_statistics.sql === using 'git apply' to apply patch ./v21-0001-Machinery-for-grabbing-an-extended-vacuum-statistics.patch === Applied patch to 'src/backend/access/heap/vacuumlazy.c' cleanly. Applied patch to 'src/backend/access/heap/visibilitymap.c' cleanly. Applied patch to 'src/backend/catalog/system_views.sql' with conflicts. 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.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/error/elog.c' cleanly. Applied patch to 'src/backend/utils/misc/guc_tables.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. Applied patch to 'src/include/utils/elog.h' cleanly. Falling back to direct application... Applied patch to 'src/test/isolation/isolation_schedule' cleanly. Falling back to direct application... Applied patch to 'src/test/regress/expected/rules.out' cleanly. Falling back to direct application... Applied patch to 'src/test/regress/parallel_schedule' cleanly. Falling back to direct application... U src/backend/catalog/system_views.sql U src/include/catalog/pg_proc.dat diff --cc src/backend/catalog/system_views.sql index 15efb02badb,603bf97e042..00000000000 --- a/src/backend/catalog/system_views.sql +++ b/src/backend/catalog/system_views.sql @@@ -1405,10 -1393,51 +1407,61 @@@ CREATE VIEW pg_stat_subscription_stats CREATE VIEW pg_wait_events AS SELECT * FROM pg_get_wait_events(); ++<<<<<<< ours + +CREATE VIEW pg_aios AS + SELECT * FROM pg_get_aios(); +REVOKE ALL ON pg_aios FROM PUBLIC; +GRANT SELECT ON pg_aios TO pg_read_all_stats; +REVOKE EXECUTE ON FUNCTION pg_get_aios() FROM PUBLIC; +GRANT EXECUTE ON FUNCTION pg_get_aios() TO pg_read_all_stats; ++======= + -- + -- Show extended cumulative statistics on a vacuum operation over all tables and + -- databases of the instance. + -- Use Invalid Oid "0" as an input relation id to get stat on each table in a + -- database. + -- + + CREATE VIEW pg_stat_vacuum_tables AS + SELECT + ns.nspname AS schemaname, + rel.relname AS relname, + stats.relid as relid, + + stats.total_blks_read AS total_blks_read, + stats.total_blks_hit AS total_blks_hit, + stats.total_blks_dirtied AS total_blks_dirtied, + stats.total_blks_written AS total_blks_written, + + stats.rel_blks_read AS rel_blks_read, + stats.rel_blks_hit AS rel_blks_hit, + + stats.pages_scanned AS pages_scanned, + stats.pages_removed AS pages_removed, + stats.vm_new_frozen_pages AS vm_new_frozen_pages, + stats.vm_new_visible_pages AS vm_new_visible_pages, + stats.vm_new_visible_frozen_pages AS vm_new_visible_frozen_pages, + stats.missed_dead_pages AS missed_dead_pages, + stats.tuples_deleted AS tuples_deleted, + stats.tuples_frozen AS tuples_frozen, + stats.recently_dead_tuples AS recently_dead_tuples, + stats.missed_dead_tuples AS missed_dead_tuples, + + stats.wraparound_failsafe AS wraparound_failsafe, + stats.index_vacuum_count AS index_vacuum_count, + stats.wal_records AS wal_records, + stats.wal_fpi AS wal_fpi, + stats.wal_bytes AS wal_bytes, + + stats.blk_read_time AS blk_read_time, + stats.blk_write_time AS blk_write_time, + + stats.delay_time AS delay_time, + stats.total_time AS total_time + + FROM pg_class rel + JOIN pg_namespace ns ON ns.oid = rel.relnamespace, + LATERAL pg_stat_get_vacuum_tables(rel.oid) stats + WHERE rel.relkind = 'r'; ++>>>>>>> theirs diff --cc src/include/catalog/pg_proc.dat index 62beb71da28,6bac3cbc3eb..00000000000 --- a/src/include/catalog/pg_proc.dat +++ b/src/include/catalog/pg_proc.dat @@@ -12557,13 -12479,22 +12557,34 @@@ proargtypes => 'int4', prosrc => 'gist_stratnum_common' }, ++<<<<<<< ours +# AIO related functions +{ oid => '9200', descr => 'information about in-progress asynchronous IOs', + proname => 'pg_get_aios', prorows => '100', proretset => 't', + provolatile => 'v', proparallel => 'r', prorettype => 'record', proargtypes => '', + proallargtypes => '{int4,int4,int8,text,text,int8,int8,text,int2,int4,text,text,bool,bool,bool}', + proargmodes => '{o,o,o,o,o,o,o,o,o,o,o,o,o,o,o}', + 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' }, + ++======= + { 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 ]