=== Applying patches on top of PostgreSQL commit ID 901ed9b352b41f034e17bc540725082a488fce31 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Sat May 9 19:55:24 UTC 2026 On branch cf/6607 nothing to commit, working tree clean === using 'git am' to apply patch ./pg_stat_tablespace_final_v4.patch === Applying: Add pg_stat_tablespace statistics view Using index info to reconstruct a base tree... M doc/src/sgml/monitoring.sgml M src/backend/catalog/system_views.sql M src/backend/storage/buffer/bufmgr.c M src/backend/storage/file/fd.c M src/backend/utils/activity/pgstat.c M src/backend/utils/activity/pgstat_database.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/pgstat.h M src/include/utils/backend_status.h M src/include/utils/pgstat_internal.h M src/test/regress/expected/rules.out M src/test/regress/expected/stats.out M src/test/regress/sql/stats.sql Falling back to patching base and 3-way merge... Auto-merging src/test/regress/sql/stats.sql Auto-merging src/test/regress/expected/stats.out CONFLICT (content): Merge conflict in src/test/regress/expected/stats.out Auto-merging src/test/regress/expected/rules.out Auto-merging src/include/utils/pgstat_internal.h Auto-merging src/include/utils/backend_status.h Auto-merging src/include/pgstat.h Auto-merging src/include/catalog/pg_proc.dat Auto-merging src/backend/utils/adt/pgstatfuncs.c CONFLICT (content): Merge conflict in src/backend/utils/adt/pgstatfuncs.c Auto-merging src/backend/utils/activity/pgstat_relation.c Auto-merging src/backend/utils/activity/pgstat_database.c Auto-merging src/backend/utils/activity/pgstat.c Auto-merging src/backend/storage/file/fd.c Auto-merging src/backend/storage/buffer/bufmgr.c CONFLICT (content): Merge conflict in src/backend/storage/buffer/bufmgr.c Auto-merging src/backend/catalog/system_views.sql Auto-merging doc/src/sgml/monitoring.sgml error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Add pg_stat_tablespace statistics view 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". === using patch(1) to apply patch ./pg_stat_tablespace_final_v4.patch === patching file doc/src/sgml/monitoring.sgml Hunk #2 succeeded at 5448 (offset 184 lines). patching file src/backend/catalog/system_views.sql Hunk #1 succeeded at 1146 (offset 18 lines). patching file src/backend/commands/tablespace.c patching file src/backend/storage/buffer/bufmgr.c Hunk #8 FAILED at 4618. 1 out of 8 hunks FAILED -- saving rejects to file src/backend/storage/buffer/bufmgr.c.rej patching file src/backend/storage/file/fd.c patching file src/backend/utils/activity/Makefile patching file src/backend/utils/activity/meson.build patching file src/backend/utils/activity/pgstat.c patching file src/backend/utils/activity/pgstat_database.c patching file src/backend/utils/activity/pgstat_relation.c Hunk #3 succeeded at 138 (offset 1 line). Hunk #4 succeeded at 712 (offset 2 lines). Hunk #5 succeeded at 756 (offset 2 lines). Hunk #6 succeeded at 792 (offset 2 lines). Hunk #7 succeeded at 903 (offset 2 lines). Hunk #8 succeeded at 943 (offset 2 lines). Hunk #9 succeeded at 953 (offset 2 lines). patching file src/backend/utils/activity/pgstat_tablespace.c patching file src/backend/utils/adt/pgstatfuncs.c Hunk #1 succeeded at 1961 (offset -4 lines). Hunk #2 FAILED at 1988. Hunk #3 succeeded at 2345 (offset -4 lines). 1 out of 3 hunks FAILED -- saving rejects to file src/backend/utils/adt/pgstatfuncs.c.rej patching file src/include/catalog/pg_proc.dat Hunk #1 succeeded at 6109 (offset 13 lines). patching file src/include/pgstat.h Hunk #3 succeeded at 786 (offset -3 lines). patching file src/include/utils/backend_status.h Hunk #1 succeeded at 315 (offset -8 lines). patching file src/include/utils/pgstat_internal.h Hunk #1 succeeded at 501 (offset -3 lines). Hunk #2 succeeded at 748 (offset -2 lines). patching file src/include/utils/pgstat_kind.h patching file src/test/regress/expected/rules.out Hunk #1 succeeded at 2360 (offset 53 lines). patching file src/test/regress/expected/stats.out Hunk #1 FAILED at 1130. Hunk #2 succeeded at 2040 (offset 34 lines). 1 out of 2 hunks FAILED -- saving rejects to file src/test/regress/expected/stats.out.rej patching file src/test/regress/sql/stats.sql Hunk #1 succeeded at 1008 (offset 8 lines). Unstaged changes after reset: M doc/src/sgml/monitoring.sgml M src/backend/catalog/system_views.sql M src/backend/commands/tablespace.c M src/backend/storage/buffer/bufmgr.c M src/backend/storage/file/fd.c M src/backend/utils/activity/Makefile M src/backend/utils/activity/meson.build M src/backend/utils/activity/pgstat.c M src/backend/utils/activity/pgstat_database.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/pgstat.h M src/include/utils/backend_status.h M src/include/utils/pgstat_internal.h M src/include/utils/pgstat_kind.h M src/test/regress/expected/rules.out M src/test/regress/expected/stats.out M src/test/regress/sql/stats.sql Removing src/backend/storage/buffer/bufmgr.c.rej Removing src/backend/utils/activity/pgstat_tablespace.c Removing src/backend/utils/adt/pgstatfuncs.c.rej Removing src/test/regress/expected/stats.out.rej === using 'git apply' to apply patch ./pg_stat_tablespace_final_v4.patch === Applied patch to 'doc/src/sgml/monitoring.sgml' cleanly. Applied patch to 'src/backend/catalog/system_views.sql' cleanly. Applied patch to 'src/backend/commands/tablespace.c' cleanly. Applied patch to 'src/backend/storage/buffer/bufmgr.c' with conflicts. Applied patch to 'src/backend/storage/file/fd.c' cleanly. Applied patch to 'src/backend/utils/activity/Makefile' cleanly. Applied patch to 'src/backend/utils/activity/meson.build' cleanly. Applied patch to 'src/backend/utils/activity/pgstat.c' cleanly. Applied patch to 'src/backend/utils/activity/pgstat_database.c' cleanly. Applied patch to 'src/backend/utils/activity/pgstat_relation.c' cleanly. Falling back to direct application... Applied patch to 'src/backend/utils/adt/pgstatfuncs.c' with conflicts. Applied patch to 'src/include/catalog/pg_proc.dat' cleanly. Applied patch to 'src/include/pgstat.h' cleanly. Applied patch to 'src/include/utils/backend_status.h' cleanly. Applied patch to 'src/include/utils/pgstat_internal.h' cleanly. Applied patch to 'src/include/utils/pgstat_kind.h' cleanly. Applied patch to 'src/test/regress/expected/rules.out' cleanly. Applied patch to 'src/test/regress/expected/stats.out' with conflicts. Applied patch to 'src/test/regress/sql/stats.sql' cleanly. U src/backend/storage/buffer/bufmgr.c U src/backend/utils/adt/pgstatfuncs.c U src/test/regress/expected/stats.out diff --cc src/backend/storage/buffer/bufmgr.c index 1878efb4aa9,678b3bd1b00..00000000000 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@@ -4598,9 -4618,16 +4618,20 @@@ FlushBuffer(BufferDesc *buf, SMgrRelati * When a strategy is not in use, the write can only be a "regular" write * of a dirty shared buffer (IOCONTEXT_NORMAL IOOP_WRITE). */ ++<<<<<<< ours + pgstat_count_io_op_time(io_object, io_context, ++======= + + INSTR_TIME_SET_CURRENT(io_time); + INSTR_TIME_SUBTRACT(io_time, io_start); + + pgstat_count_io_op_time(IOOBJECT_RELATION, io_context, ++>>>>>>> theirs IOOP_WRITE, io_start, 1, BLCKSZ); + pgstat_count_tablespace_buffer_write_time(INSTR_TIME_GET_MICROSEC(io_time), + reln->smgr_rlocator.locator.spcOid); + pgBufferUsage.shared_blks_written++; /* diff --cc src/backend/utils/adt/pgstatfuncs.c index 7a9dfa9ba3b,3fb9c662db8..00000000000 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@@ -1987,7 -1994,7 +1990,11 @@@ pg_stat_reset_shared(PG_FUNCTION_ARGS ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("unrecognized reset target: \"%s\"", target), ++<<<<<<< ours + errhint("Target must be \"archiver\", \"bgwriter\", \"checkpointer\", \"io\", \"lock\", \"recovery_prefetch\", \"slru\", or \"wal\"."))); ++======= + errhint("Target must be \"archiver\", \"bgwriter\", \"checkpointer\", \"io\", \"recovery_prefetch\", \"slru\", \"wal\", or \"tablespace\"."))); ++>>>>>>> theirs PG_RETURN_VOID(); } diff --cc src/test/regress/expected/stats.out index c551abb1178,bab3d465594..00000000000 --- a/src/test/regress/expected/stats.out +++ b/src/test/regress/expected/stats.out @@@ -1164,7 -1130,7 +1164,11 @@@ SELECT stats_reset > :'wal_reset_ts'::t -- Test error case for reset_shared with unknown stats type SELECT pg_stat_reset_shared('unknown'); ERROR: unrecognized reset target: "unknown" ++<<<<<<< ours +HINT: Target must be "archiver", "bgwriter", "checkpointer", "io", "lock", "recovery_prefetch", "slru", or "wal". ++======= + HINT: Target must be "archiver", "bgwriter", "checkpointer", "io", "recovery_prefetch", "slru", "wal", or "tablespace". ++>>>>>>> theirs -- Test that reset works for pg_stat_database and pg_stat_database_conflicts -- Since pg_stat_database stats_reset starts out as NULL, reset it once first so that we -- have a baseline for comparison. The same for pg_stat_database_conflicts as it shares