Replace BackendIds with 0-based ProcNumbers

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: 024c521117579a6d356050ad3d78fdc95e44eefa
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2024-03-03T17:38:22Z
Releases: 17.0
Replace BackendIds with 0-based ProcNumbers

Now that BackendId was just another index into the proc array, it was
redundant with the 0-based proc numbers used in other places. Replace
all usage of backend IDs with proc numbers.

The only place where the term "backend id" remains is in a few pgstat
functions that expose backend IDs at the SQL level. Those IDs are now
in fact 0-based ProcNumbers too, but the documentation still calls
them "backend ids". That term still seems appropriate to describe what
the numbers are, so I let it be.

One user-visible effect is that pg_temp_0 is now a valid temp schema
name, for backend with ProcNumber 0.

Reviewed-by: Andres Freund
Discussion: https://www.postgresql.org/message-id/8171f1aa-496f-46a6-afc3-c46fe7a9b407@iki.fi

Files

PathChange+/−
doc/src/sgml/config.sgml modified +1 −1
doc/src/sgml/monitoring.sgml modified +9 −9
doc/src/sgml/storage.sgml modified +1 −1
doc/src/sgml/xact.sgml modified +2 −2
src/backend/access/transam/clog.c modified +9 −9
src/backend/access/transam/multixact.c modified +31 −33
src/backend/access/transam/parallel.c modified +5 −5
src/backend/access/transam/README modified +5 −5
src/backend/access/transam/twophase.c modified +23 −20
src/backend/access/transam/xact.c modified +5 −4
src/backend/access/transam/xlogprefetcher.c modified +1 −1
src/backend/access/transam/xlogutils.c modified +3 −3
src/backend/backup/basebackup_incremental.c modified +1 −1
src/backend/catalog/catalog.c modified +7 −7
src/backend/catalog/namespace.c modified +15 −15
src/backend/catalog/storage.c modified +15 −15
src/backend/commands/async.c modified +42 −47
src/backend/commands/dbcommands.c modified +1 −1
src/backend/commands/indexcmds.c modified +1 −1
src/backend/commands/sequence.c modified +1 −1
src/backend/libpq/pqmq.c modified +5 −5
src/backend/postmaster/pgarch.c modified +6 −6
src/backend/postmaster/walsummarizer.c modified +8 −8
src/backend/replication/logical/applyparallelworker.c modified +2 −2
src/backend/replication/slot.c modified +1 −1
src/backend/replication/walsender.c modified +1 −1
src/backend/storage/buffer/buf_init.c modified +1 −1
src/backend/storage/buffer/bufmgr.c modified +15 −15
src/backend/storage/buffer/localbuf.c modified +3 −3
src/backend/storage/ipc/procarray.c modified +22 −22
src/backend/storage/ipc/procsignal.c modified +19 −17
src/backend/storage/ipc/sinvaladt.c modified +21 −24
src/backend/storage/ipc/standby.c modified +3 −3
src/backend/storage/lmgr/lmgr.c modified +1 −1
src/backend/storage/lmgr/lock.c modified +13 −13
src/backend/storage/lmgr/predicate.c modified +5 −5
src/backend/storage/lmgr/proc.c modified +17 −22
src/backend/storage/smgr/md.c modified +2 −2
src/backend/storage/smgr/smgr.c modified +1 −1
src/backend/utils/activity/backend_status.c modified +25 −25
src/backend/utils/adt/dbsize.c modified +7 −7
src/backend/utils/adt/lockfuncs.c modified +7 −6
src/backend/utils/adt/mcxtfuncs.c modified +3 −4
src/backend/utils/adt/pgstatfuncs.c modified +25 −25
src/backend/utils/cache/inval.c modified +2 −2
src/backend/utils/cache/relcache.c modified +15 −15
src/backend/utils/error/csvlog.c modified +2 −2
src/backend/utils/error/elog.c modified +3 −3
src/backend/utils/error/jsonlog.c modified +2 −2
src/backend/utils/init/globals.c modified +3 −3
src/backend/utils/time/snapmgr.c modified +3 −3
src/common/relpath.c modified +12 −12
src/include/access/twophase.h modified +1 −1
src/include/catalog/namespace.h modified +2 −1
src/include/common/relpath.h modified +2 −2
src/include/libpq/pqmq.h modified +1 −1
src/include/miscadmin.h modified +0 −5
src/include/postmaster/postmaster.h modified +1 −1
src/include/storage/backendid.h deleted +0 −41
src/include/storage/lock.h modified +9 −9
src/include/storage/procarray.h modified +4 −4
src/include/storage/proc.h modified +19 −17
src/include/storage/proclist.h modified +19 −19
src/include/storage/proclist_types.h modified +10 −8
src/include/storage/procnumber.h added +43 −0
src/include/storage/procsignal.h modified +2 −2
src/include/storage/relfilelocator.h modified +15 −14
src/include/storage/sinval.h modified +2 −2
src/include/storage/smgr.h modified +1 −1
src/include/utils/backend_status.h modified +6 −8
src/include/utils/rel.h modified +1 −1

Documentation touched

Discussion