Custom WAL Resource Managers.
authorJeff Davis <jdavis@postgresql.org>
Thu, 7 Apr 2022 05:26:43 +0000 (22:26 -0700)
committerJeff Davis <jdavis@postgresql.org>
Thu, 7 Apr 2022 06:06:46 +0000 (23:06 -0700)
commit5c279a6d350205cc98f91fb8e1d3e4442a6b25d1
tree4165add040730afa0e116ab5be1db5dc6fa93aea
parenta8cfb0c1a964ebbe830c5138d389b0d2627ec298
Custom WAL Resource Managers.

Allow extensions to specify a new custom resource manager (rmgr),
which allows specialized WAL. This is meant to be used by a Table
Access Method or Index Access Method.

Prior to this commit, only Generic WAL was available, which offers
support for recovery and physical replication but not logical
replication.

Reviewed-by: Julien Rouhaud, Bharath Rupireddy, Andres Freund
Discussion: https://postgr.es/m/ed1fb2e22d15d3563ae0eb610f7b61bb15999c0a.camel%40j-davis.com
24 files changed:
doc/src/sgml/config.sgml
doc/src/sgml/custom-rmgr.sgml [new file with mode: 0644]
doc/src/sgml/filelist.sgml
doc/src/sgml/func.sgml
doc/src/sgml/generic-wal.sgml
doc/src/sgml/postgres.sgml
doc/src/sgml/ref/pg_waldump.sgml
src/backend/access/transam/rmgr.c
src/backend/access/transam/xlogreader.c
src/backend/access/transam/xlogrecovery.c
src/backend/postmaster/postmaster.c
src/backend/replication/logical/decode.c
src/backend/utils/init/miscinit.c
src/backend/utils/misc/guc.c
src/bin/pg_rewind/parsexlog.c
src/bin/pg_waldump/pg_waldump.c
src/bin/pg_waldump/rmgrdesc.c
src/bin/pg_waldump/rmgrdesc.h
src/include/access/rmgr.h
src/include/access/xlog_internal.h
src/include/catalog/catversion.h
src/include/catalog/pg_proc.dat
src/include/miscadmin.h
src/include/utils/guc.h