From: | Robert Haas <rhaas(at)postgresql(dot)org> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Allow archiving via loadable modules. |
Date: | 2022-02-03 19:08:37 |
Message-ID: | E1nFhTB-0006Ib-DD@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Allow archiving via loadable modules.
Running a shell command for each file to be archived has a lot of
overhead and may not offer as much error checking as you want, or the
exact semantics that you want. So, offer the option to call a loadable
module for each file to be archived, rather than running a shell command.
Also, add a 'basic_archive' contrib module as an example implementation
that archives to a local directory.
Nathan Bossart, with a little bit of kibitzing by me.
Discussion: http://postgr.es/m/20220202224433.GA1036711@nathanxps13
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/5ef1eefd76f404ddc59b885d50340e602b70f05f
Modified Files
--------------
contrib/Makefile | 1 +
contrib/basic_archive/.gitignore | 4 +
contrib/basic_archive/Makefile | 20 ++
contrib/basic_archive/basic_archive.c | 371 +++++++++++++++++++++++
contrib/basic_archive/basic_archive.conf | 3 +
contrib/basic_archive/expected/basic_archive.out | 29 ++
contrib/basic_archive/sql/basic_archive.sql | 22 ++
doc/src/sgml/archive-modules.sgml | 136 +++++++++
doc/src/sgml/backup.sgml | 85 ++++--
doc/src/sgml/basic-archive.sgml | 81 +++++
doc/src/sgml/config.sgml | 37 ++-
doc/src/sgml/contrib.sgml | 1 +
doc/src/sgml/filelist.sgml | 2 +
doc/src/sgml/high-availability.sgml | 6 +-
doc/src/sgml/postgres.sgml | 1 +
doc/src/sgml/ref/pg_basebackup.sgml | 4 +-
doc/src/sgml/ref/pg_receivewal.sgml | 6 +-
doc/src/sgml/wal.sgml | 2 +-
src/backend/access/transam/xlog.c | 2 +-
src/backend/postmaster/pgarch.c | 110 ++++++-
src/backend/postmaster/shell_archive.c | 24 +-
src/backend/utils/init/miscinit.c | 1 +
src/backend/utils/misc/guc.c | 12 +-
src/backend/utils/misc/postgresql.conf.sample | 3 +
src/include/access/xlog.h | 1 -
src/include/postmaster/pgarch.h | 38 ++-
26 files changed, 938 insertions(+), 64 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2022-02-03 21:43:02 | pgsql: In basic_archive tests, insist on wal_level='replica'. |
Previous Message | Andres Freund | 2022-02-03 18:50:52 | Re: pgsql: Further fix for EvalPlanQual with mix of local and foreign parti |