summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/basebackup-to-shell.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/basebackup-to-shell.sgml')
-rw-r--r--doc/src/sgml/basebackup-to-shell.sgml85
1 files changed, 85 insertions, 0 deletions
diff --git a/doc/src/sgml/basebackup-to-shell.sgml b/doc/src/sgml/basebackup-to-shell.sgml
new file mode 100644
index 0000000..b2ecc37
--- /dev/null
+++ b/doc/src/sgml/basebackup-to-shell.sgml
@@ -0,0 +1,85 @@
+<!-- doc/src/sgml/basebackup-to-shell.sgml -->
+
+<sect1 id="basebackup-to-shell" xreflabel="basebackup_to_shell">
+ <title>basebackup_to_shell</title>
+
+ <indexterm zone="basebackup-to-shell">
+ <primary>basebackup_to_shell</primary>
+ </indexterm>
+
+ <para>
+ <filename>basebackup_to_shell</filename> adds a custom basebackup target
+ called <literal>shell</literal>. This makes it possible to run
+ <command>pg_basebackup --target=shell</command> or, depending on how this
+ module is configured,
+ <command>pg_basebackup --target=shell:<replaceable>DETAIL_STRING</replaceable></command>,
+ and cause a server command chosen by the server administrator to be executed
+ for each tar archive generated by the backup process. The command will receive
+ the contents of the archive via standard input.
+ </para>
+
+ <para>
+ This module is primarily intended as an example of how to create a new
+ backup targets via an extension module, but in some scenarios it may be
+ useful for its own sake.
+ In order to function, this module must be loaded via
+ <xref linkend="guc-shared-preload-libraries"/> or
+ <xref linkend="guc-local-preload-libraries"/>.
+ </para>
+
+ <sect2>
+ <title>Configuration Parameters</title>
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ <varname>basebackup_to_shell.command</varname> (<type>string</type>)
+ <indexterm>
+ <primary><varname>basebackup_to_shell.command</varname> configuration parameter</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>
+ The command which the server should execute for each archive generated
+ by the backup process. If <literal>%f</literal> occurs in the command
+ string, it will be replaced by the name of the archive (e.g.
+ <literal>base.tar</literal>). If <literal>%d</literal> occurs in the
+ command string, it will be replaced by the target detail provided by
+ the user. A target detail is required if <literal>%d</literal> is
+ used in the command string, and prohibited otherwise. For security
+ reasons, it may contain only alphanumeric characters. If
+ <literal>%%</literal> occurs in the command string, it will be replaced
+ by a single <literal>%</literal>. If <literal>%</literal> occurs in
+ the command string followed by any other character or at the end of the
+ string, an error occurs.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <varname>basebackup_to_shell.required_role</varname> (<type>string</type>)
+ <indexterm>
+ <primary><varname>basebackup_to_shell.required_role</varname> configuration parameter</primary>
+ </indexterm>
+ </term>
+ <listitem>
+ <para>
+ The role required in order to make use of the <literal>shell</literal>
+ backup target. If this is not set, any replication user may make use of
+ the <literal>shell</literal> backup target.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+
+ <sect2>
+ <title>Author</title>
+
+ <para>
+ Robert Haas <email>rhaas@postgresql.org</email>
+ </para>
+ </sect2>
+
+</sect1>