diff options
author | Michael Paquier | 2023-01-25 05:36:51 +0000 |
---|---|---|
committer | Michael Paquier | 2023-01-25 05:36:51 +0000 |
commit | 0ad3c60caf5f77edfefaf8850fbba5ea4fe28640 (patch) | |
tree | 0edd80514358104a8ac00ca35f23e5b4f69219ef | |
parent | 239b1753421ccbd52f4f628a9265c3034d38b80f (diff) |
Rename contrib module basic_archive to basic_wal_module
This rename is in preparation for the introduction of recovery modules,
where basic_wal_module will be used as a base template for the set of
callbacks introduced. The former name did not really reflect all that.
Author: Nathan Bossart
Discussion: https://postgr.es/m/20221227192449.GA3672473@nathanxps13
17 files changed, 105 insertions, 78 deletions
diff --git a/contrib/Makefile b/contrib/Makefile index bbf220407b0..98acaf8690b 100644 --- a/contrib/Makefile +++ b/contrib/Makefile @@ -9,7 +9,7 @@ SUBDIRS = \ amcheck \ auth_delay \ auto_explain \ - basic_archive \ + basic_wal_module \ basebackup_to_shell \ bloom \ btree_gin \ diff --git a/contrib/basic_archive/basic_archive.conf b/contrib/basic_archive/basic_archive.conf deleted file mode 100644 index 7c82a4b82b2..00000000000 --- a/contrib/basic_archive/basic_archive.conf +++ /dev/null @@ -1,4 +0,0 @@ -archive_mode = on -archive_library = 'basic_archive' -basic_archive.archive_directory = '.' -wal_level = replica diff --git a/contrib/basic_archive/meson.build b/contrib/basic_archive/meson.build deleted file mode 100644 index bc1380e6f66..00000000000 --- a/contrib/basic_archive/meson.build +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (c) 2022-2023, PostgreSQL Global Development Group - -basic_archive_sources = files( - 'basic_archive.c', -) - -if host_system == 'windows' - basic_archive_sources += rc_lib_gen.process(win32ver_rc, extra_args: [ - '--NAME', 'basic_archive', - '--FILEDESC', 'basic_archive - basic archive module',]) -endif - -basic_archive = shared_module('basic_archive', - basic_archive_sources, - kwargs: contrib_mod_args, -) -contrib_targets += basic_archive - -tests += { - 'name': 'basic_archive', - 'sd': meson.current_source_dir(), - 'bd': meson.current_build_dir(), - 'regress': { - 'sql': [ - 'basic_archive', - ], - 'regress_args': [ - '--temp-config', files('basic_archive.conf'), - ], - # Disabled because these tests require "shared_preload_libraries=basic_archive", - # which typical runningcheck users do not have (e.g. buildfarm clients). - 'runningcheck': false, - }, -} diff --git a/contrib/basic_archive/.gitignore b/contrib/basic_wal_module/.gitignore index 5dcb3ff9723..5dcb3ff9723 100644 --- a/contrib/basic_archive/.gitignore +++ b/contrib/basic_wal_module/.gitignore diff --git a/contrib/basic_archive/Makefile b/contrib/basic_wal_module/Makefile index 55d299d650c..1f88aaf4693 100644 --- a/contrib/basic_archive/Makefile +++ b/contrib/basic_wal_module/Makefile @@ -1,11 +1,11 @@ -# contrib/basic_archive/Makefile +# contrib/basic_wal_module/Makefile -MODULES = basic_archive -PGFILEDESC = "basic_archive - basic archive module" +MODULES = basic_wal_module +PGFILEDESC = "basic_wal_module - basic write-ahead log module" -REGRESS = basic_archive -REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/basic_archive/basic_archive.conf -# Disabled because these tests require "shared_preload_libraries=basic_archive", +REGRESS = basic_wal_module +REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/basic_wal_module/basic_wal_module.conf +# Disabled because these tests require "shared_preload_libraries=basic_wal_module", # which typical installcheck users do not have (e.g. buildfarm clients). NO_INSTALLCHECK = 1 @@ -14,7 +14,7 @@ PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) include $(PGXS) else -subdir = contrib/basic_archive +subdir = contrib/basic_wal_module top_builddir = ../.. include $(top_builddir)/src/Makefile.global include $(top_srcdir)/contrib/contrib-global.mk diff --git a/contrib/basic_archive/basic_archive.c b/contrib/basic_wal_module/basic_wal_module.c index 3d29711a316..78c36656a8b 100644 --- a/contrib/basic_archive/basic_archive.c +++ b/contrib/basic_wal_module/basic_wal_module.c @@ -1,6 +1,6 @@ /*------------------------------------------------------------------------- * - * basic_archive.c + * basic_wal_module.c * * This file demonstrates a basic archive library implementation that is * roughly equivalent to the following shell command: @@ -20,7 +20,7 @@ * Copyright (c) 2022-2023, PostgreSQL Global Development Group * * IDENTIFICATION - * contrib/basic_archive/basic_archive.c + * contrib/basic_wal_module/basic_wal_module.c * *------------------------------------------------------------------------- */ @@ -41,7 +41,7 @@ PG_MODULE_MAGIC; static char *archive_directory = NULL; -static MemoryContext basic_archive_context; +static MemoryContext basic_wal_module_context; static bool basic_archive_configured(void); static bool basic_archive_file(const char *file, const char *path); @@ -57,7 +57,7 @@ static bool compare_files(const char *file1, const char *file2); void _PG_init(void) { - DefineCustomStringVariable("basic_archive.archive_directory", + DefineCustomStringVariable("basic_wal_module.archive_directory", gettext_noop("Archive file destination directory."), NULL, &archive_directory, @@ -66,11 +66,11 @@ _PG_init(void) 0, check_archive_directory, NULL, NULL); - MarkGUCPrefixReserved("basic_archive"); + MarkGUCPrefixReserved("basic_wal_module"); - basic_archive_context = AllocSetContextCreate(TopMemoryContext, - "basic_archive", - ALLOCSET_DEFAULT_SIZES); + basic_wal_module_context = AllocSetContextCreate(TopMemoryContext, + "basic_wal_module", + ALLOCSET_DEFAULT_SIZES); } /* @@ -156,7 +156,7 @@ basic_archive_file(const char *file, const char *path) * we can easily reset it during error recovery (thus avoiding memory * leaks). */ - oldcontext = MemoryContextSwitchTo(basic_archive_context); + oldcontext = MemoryContextSwitchTo(basic_wal_module_context); /* * Since the archiver operates at the bottom of the exception stack, @@ -183,7 +183,7 @@ basic_archive_file(const char *file, const char *path) /* Reset our memory context and switch back to the original one */ MemoryContextSwitchTo(oldcontext); - MemoryContextReset(basic_archive_context); + MemoryContextReset(basic_wal_module_context); /* Remove our exception handler */ PG_exception_stack = NULL; @@ -206,7 +206,7 @@ basic_archive_file(const char *file, const char *path) /* Reset our memory context and switch back to the original one */ MemoryContextSwitchTo(oldcontext); - MemoryContextReset(basic_archive_context); + MemoryContextReset(basic_wal_module_context); return true; } @@ -221,7 +221,7 @@ basic_archive_file_internal(const char *file, const char *path) uint64 epoch; /* milliseconds */ ereport(DEBUG3, - (errmsg("archiving \"%s\" via basic_archive", file))); + (errmsg("archiving \"%s\" via basic_wal_module", file))); snprintf(destination, MAXPGPATH, "%s/%s", archive_directory, file); @@ -285,7 +285,7 @@ basic_archive_file_internal(const char *file, const char *path) (void) durable_rename(temp, destination, ERROR); ereport(DEBUG1, - (errmsg("archived \"%s\" via basic_archive", file))); + (errmsg("archived \"%s\" via basic_wal_module", file))); } /* diff --git a/contrib/basic_wal_module/basic_wal_module.conf b/contrib/basic_wal_module/basic_wal_module.conf new file mode 100644 index 00000000000..9a4ffacf683 --- /dev/null +++ b/contrib/basic_wal_module/basic_wal_module.conf @@ -0,0 +1,4 @@ +archive_mode = on +archive_library = 'basic_wal_module' +basic_wal_module.archive_directory = '.' +wal_level = replica diff --git a/contrib/basic_archive/expected/basic_archive.out b/contrib/basic_wal_module/expected/basic_wal_module.out index 0015053e0f2..0015053e0f2 100644 --- a/contrib/basic_archive/expected/basic_archive.out +++ b/contrib/basic_wal_module/expected/basic_wal_module.out diff --git a/contrib/basic_wal_module/meson.build b/contrib/basic_wal_module/meson.build new file mode 100644 index 00000000000..59939d71c4f --- /dev/null +++ b/contrib/basic_wal_module/meson.build @@ -0,0 +1,34 @@ +# Copyright (c) 2022-2023, PostgreSQL Global Development Group + +basic_wal_module_sources = files( + 'basic_wal_module.c', +) + +if host_system == 'windows' + basic_wal_module_sources += rc_lib_gen.process(win32ver_rc, extra_args: [ + '--NAME', 'basic_wal_module', + '--FILEDESC', 'basic_wal_module - basic write-ahead log module',]) +endif + +basic_wal_module = shared_module('basic_wal_module', + basic_wal_module_sources, + kwargs: contrib_mod_args, +) +contrib_targets += basic_wal_module + +tests += { + 'name': 'basic_wal_module', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'basic_wal_module', + ], + 'regress_args': [ + '--temp-config', files('basic_wal_module.conf'), + ], + # Disabled because these tests require "shared_preload_libraries=basic_wal_module", + # which typical runningcheck users do not have (e.g. buildfarm clients). + 'runningcheck': false, + }, +} diff --git a/contrib/basic_archive/sql/basic_archive.sql b/contrib/basic_wal_module/sql/basic_wal_module.sql index 14e236d57ab..14e236d57ab 100644 --- a/contrib/basic_archive/sql/basic_archive.sql +++ b/contrib/basic_wal_module/sql/basic_wal_module.sql diff --git a/contrib/meson.build b/contrib/meson.build index bd4a57c43c0..2db77a18d74 100644 --- a/contrib/meson.build +++ b/contrib/meson.build @@ -11,7 +11,7 @@ subdir('adminpack') subdir('amcheck') subdir('auth_delay') subdir('auto_explain') -subdir('basic_archive') +subdir('basic_wal_module') subdir('bloom') subdir('basebackup_to_shell') subdir('bool_plperl') diff --git a/doc/src/sgml/appendix-obsolete-basic-archive.sgml b/doc/src/sgml/appendix-obsolete-basic-archive.sgml new file mode 100644 index 00000000000..5070b3b6abf --- /dev/null +++ b/doc/src/sgml/appendix-obsolete-basic-archive.sgml @@ -0,0 +1,25 @@ +<!-- doc/src/sgml/appendix-obsolete-basic-archive.sgml --> +<!-- + See doc/src/sgml/appendix-obsolete.sgml for why this file exists. Do not change the id attribute. +--> + +<sect1 id="basic-archive" xreflabel="basic_archive"> + <title><command>basic_archive</command> renamed to <command>basic_wal_module</command></title> + + <indexterm> + <primary>basic_archive</primary> + <see>basic_wal_module</see> + </indexterm> + + <para> + PostgreSQL 15 provided an archive module named + <filename>basic_archive</filename> + <indexterm><primary>basic_archive</primary></indexterm>. + This module was renamed to <filename>basic_wal_module</filename>. See + <xref linkend="basic-wal-module"/> for documentation of + <filename>basic_wal_module</filename>, and see + <link linkend="release-prior">the release notes for PostgreSQL 16</link> + for details on this change. + </para> + +</sect1> diff --git a/doc/src/sgml/appendix-obsolete.sgml b/doc/src/sgml/appendix-obsolete.sgml index b1a00c8ce67..87c1b1020df 100644 --- a/doc/src/sgml/appendix-obsolete.sgml +++ b/doc/src/sgml/appendix-obsolete.sgml @@ -38,5 +38,6 @@ &obsolete-pgxlogdump; &obsolete-pgresetxlog; &obsolete-pgreceivexlog; + &obsolete-basic-archive; </appendix> diff --git a/doc/src/sgml/archive-modules.sgml b/doc/src/sgml/archive-modules.sgml index ef02051f7f0..1a32006e2c7 100644 --- a/doc/src/sgml/archive-modules.sgml +++ b/doc/src/sgml/archive-modules.sgml @@ -32,7 +32,7 @@ </para> <para> - The <filename>contrib/basic_archive</filename> module contains a working + The <filename>contrib/basic_wal_module</filename> module contains a working example, which demonstrates some useful techniques. </para> diff --git a/doc/src/sgml/basic-archive.sgml b/doc/src/sgml/basic-wal-module.sgml index b4d43ced203..c418b01eb85 100644 --- a/doc/src/sgml/basic-archive.sgml +++ b/doc/src/sgml/basic-wal-module.sgml @@ -1,16 +1,16 @@ -<!-- doc/src/sgml/basic-archive.sgml --> +<!-- doc/src/sgml/basic-wal-module.sgml --> -<sect1 id="basic-archive" xreflabel="basic_archive"> - <title>basic_archive — an example WAL archive module</title> +<sect1 id="basic-wal-module" xreflabel="basic_wal_module"> + <title>basic_wal_module — an example write-ahead log module</title> - <indexterm zone="basic-archive"> - <primary>basic_archive</primary> + <indexterm zone="basic-wal-module"> + <primary>basic_wal_module</primary> </indexterm> <para> - <filename>basic_archive</filename> is an example of an archive module. This - module copies completed WAL segment files to the specified directory. This - may not be especially useful, but it can serve as a starting point for + <filename>basic_wal_module</filename> is an example of an archive module. + This module copies completed WAL segment files to the specified directory. + This may not be especially useful, but it can serve as a starting point for developing your own archive module. For more information about archive modules, see <xref linkend="archive-modules"/>. </para> @@ -21,15 +21,15 @@ must be enabled. </para> - <sect2 id="basic-archive-configuration-parameters"> + <sect2 id="basic-wal-module-configuration-parameters"> <title>Configuration Parameters</title> <variablelist> <varlistentry> <term> - <varname>basic_archive.archive_directory</varname> (<type>string</type>) + <varname>basic_wal_module.archive_directory</varname> (<type>string</type>) <indexterm> - <primary><varname>basic_archive.archive_directory</varname> configuration parameter</primary> + <primary><varname>basic_wal_module.archive_directory</varname> configuration parameter</primary> </indexterm> </term> <listitem> @@ -52,12 +52,12 @@ <programlisting> # postgresql.conf archive_mode = 'on' -archive_library = 'basic_archive' -basic_archive.archive_directory = '/path/to/archive/directory' +archive_library = 'basic_wal_module' +basic_wal_module.archive_directory = '/path/to/archive/directory' </programlisting> </sect2> - <sect2 id="basic-archive-notes"> + <sect2 id="basic-wal-module-notes"> <title>Notes</title> <para> @@ -70,7 +70,7 @@ basic_archive.archive_directory = '/path/to/archive/directory' </para> </sect2> - <sect2 id="basic-archive-author"> + <sect2 id="basic-wal-module-author"> <title>Author</title> <para> diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml index 12c79b798ba..3225284eead 100644 --- a/doc/src/sgml/contrib.sgml +++ b/doc/src/sgml/contrib.sgml @@ -105,7 +105,7 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>; &auth-delay; &auto-explain; &basebackup-to-shell; - &basic-archive; + &basic-wal-module; &bloom; &btree-gin; &btree-gist; diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 0d6be9a2faf..2d36c34ce81 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -116,7 +116,7 @@ <!ENTITY amcheck SYSTEM "amcheck.sgml"> <!ENTITY auth-delay SYSTEM "auth-delay.sgml"> <!ENTITY auto-explain SYSTEM "auto-explain.sgml"> -<!ENTITY basic-archive SYSTEM "basic-archive.sgml"> +<!ENTITY basic-wal-module SYSTEM "basic-wal-module.sgml"> <!ENTITY basebackup-to-shell SYSTEM "basebackup-to-shell.sgml"> <!ENTITY bloom SYSTEM "bloom.sgml"> <!ENTITY btree-gin SYSTEM "btree-gin.sgml"> @@ -200,3 +200,4 @@ <!ENTITY obsolete-pgxlogdump SYSTEM "appendix-obsolete-pgxlogdump.sgml"> <!ENTITY obsolete-pgresetxlog SYSTEM "appendix-obsolete-pgresetxlog.sgml"> <!ENTITY obsolete-pgreceivexlog SYSTEM "appendix-obsolete-pgreceivexlog.sgml"> +<!ENTITY obsolete-basic-archive SYSTEM "appendix-obsolete-basic-archive.sgml"> |