Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 977b9e43ddbf791a68788d984b14383d > files > 22

postgresql9.3-docs-9.3.9-1.mga4.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>pg_receivexlog</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REV="MADE"
HREF="mailto:pgsql-docs@postgresql.org"><LINK
REL="HOME"
TITLE="PostgreSQL 9.3.9 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="PostgreSQL Client Applications"
HREF="reference-client.html"><LINK
REL="PREVIOUS"
TITLE="pg_isready"
HREF="app-pg-isready.html"><LINK
REL="NEXT"
TITLE="pg_restore"
HREF="app-pgrestore.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-1"><META
NAME="creation"
CONTENT="2015-06-13T20:07:22"></HEAD
><BODY
CLASS="REFENTRY"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="5"
ALIGN="center"
VALIGN="bottom"
><A
HREF="index.html"
>PostgreSQL 9.3.9 Documentation</A
></TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
TITLE="pg_isready"
HREF="app-pg-isready.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="reference-client.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="60%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="20%"
ALIGN="right"
VALIGN="top"
><A
TITLE="pg_restore"
HREF="app-pgrestore.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="APP-PGRECEIVEXLOG"
></A
>pg_receivexlog</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN86045"
></A
><H2
>Name</H2
>pg_receivexlog&nbsp;--&nbsp;streams transaction logs from a <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> cluster</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN86051"
></A
><H2
>Synopsis</H2
><P
><TT
CLASS="COMMAND"
>pg_receivexlog</TT
> [<TT
CLASS="REPLACEABLE"
><I
>option</I
></TT
>...]</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN86056"
></A
><H2
>   Description
  </H2
><P
>   <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> is used to stream transaction log
   from a running <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> cluster. The transaction
   log is streamed using the streaming replication protocol, and is written
   to a local directory of files. This directory can be used as the archive
   location for doing a restore using point-in-time recovery (see
   <A
HREF="continuous-archiving.html"
>Section 24.3</A
>).
  </P
><P
>   <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> streams the transaction
   log in real time as it's being generated on the server, and does not wait
   for segments to complete like <A
HREF="runtime-config-wal.html#GUC-ARCHIVE-COMMAND"
>archive_command</A
> does.
   For this reason, it is not necessary to set
   <A
HREF="runtime-config-wal.html#GUC-ARCHIVE-TIMEOUT"
>archive_timeout</A
> when using
    <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
>.
  </P
><P
>   The transaction log is streamed over a regular
   <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> connection, and uses the replication
   protocol. The connection must be made with a superuser or a user
   having <TT
CLASS="LITERAL"
>REPLICATION</TT
> permissions (see
   <A
HREF="role-attributes.html"
>Section 20.2</A
>), and <TT
CLASS="FILENAME"
>pg_hba.conf</TT
>
   must explicitly permit the replication connection. The server must also be
   configured with <A
HREF="runtime-config-replication.html#GUC-MAX-WAL-SENDERS"
>max_wal_senders</A
> set high enough to
   leave at least one session available for the stream.
  </P
><P
>   If the connection is lost, or if it cannot be initially established,
   with a non-fatal error, <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> will
   retry the connection indefinitely, and reestablish streaming as soon
   as possible. To avoid this behavior, use the <TT
CLASS="LITERAL"
>-n</TT
>
   parameter.
  </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN86076"
></A
><H2
>Options</H2
><P
>    The following command-line options control the location and format of the
    output.

    <P
></P
></P><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="OPTION"
>-D <TT
CLASS="REPLACEABLE"
><I
>directory</I
></TT
></TT
><BR><TT
CLASS="OPTION"
>--directory=<TT
CLASS="REPLACEABLE"
><I
>directory</I
></TT
></TT
></DT
><DD
><P
>        Directory to write the output to.
       </P
><P
>        This parameter is required.
       </P
></DD
></DL
></DIV
><P>
   </P
><P
>    The following command-line options control the running of the program.

    <P
></P
></P><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="OPTION"
>-n</TT
><BR><TT
CLASS="OPTION"
>--no-loop</TT
></DT
><DD
><P
>        Don't loop on connection errors. Instead, exit right away with
        an error.
       </P
></DD
><DT
><TT
CLASS="OPTION"
>-v</TT
><BR><TT
CLASS="OPTION"
>--verbose</TT
></DT
><DD
><P
>        Enables verbose mode.
       </P
></DD
></DL
></DIV
><P>
   </P
><P
>    The following command-line options control the database connection parameters.

    <P
></P
></P><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="OPTION"
>-d <TT
CLASS="REPLACEABLE"
><I
>connstr</I
></TT
></TT
><BR><TT
CLASS="OPTION"
>--dbname=<TT
CLASS="REPLACEABLE"
><I
>connstr</I
></TT
></TT
></DT
><DD
><P
>        Specifies parameters used to connect to the server, as a connection
        string. See <A
HREF="libpq-connect.html#LIBPQ-CONNSTRING"
>Section 31.1.1</A
> for more information.
       </P
><P
>        The option is called <TT
CLASS="LITERAL"
>--dbname</TT
> for consistency with other
        client applications, but because <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
>
        doesn't connect to any particular database in the cluster, database
        name in the connection string will be ignored.
       </P
></DD
><DT
><TT
CLASS="OPTION"
>-h <TT
CLASS="REPLACEABLE"
><I
>host</I
></TT
></TT
><BR><TT
CLASS="OPTION"
>--host=<TT
CLASS="REPLACEABLE"
><I
>host</I
></TT
></TT
></DT
><DD
><P
>        Specifies the host name of the machine on which the server is
        running.  If the value begins with a slash, it is used as the
        directory for the Unix domain socket. The default is taken
        from the <TT
CLASS="ENVAR"
>PGHOST</TT
> environment variable, if set,
        else a Unix domain socket connection is attempted.
       </P
></DD
><DT
><TT
CLASS="OPTION"
>-p <TT
CLASS="REPLACEABLE"
><I
>port</I
></TT
></TT
><BR><TT
CLASS="OPTION"
>--port=<TT
CLASS="REPLACEABLE"
><I
>port</I
></TT
></TT
></DT
><DD
><P
>        Specifies the TCP port or local Unix domain socket file
        extension on which the server is listening for connections.
        Defaults to the <TT
CLASS="ENVAR"
>PGPORT</TT
> environment variable, if
        set, or a compiled-in default.
       </P
></DD
><DT
><TT
CLASS="OPTION"
>-s <TT
CLASS="REPLACEABLE"
><I
>interval</I
></TT
></TT
><BR><TT
CLASS="OPTION"
>--status-interval=<TT
CLASS="REPLACEABLE"
><I
>interval</I
></TT
></TT
></DT
><DD
><P
>        Specifies the number of seconds between status packets sent back to the
        server. This allows for easier monitoring of the progress from server.
        A value of zero disables the periodic status updates completely,
        although an update will still be sent when requested by the server, to
        avoid timeout disconnect. The default value is 10 seconds.
       </P
></DD
><DT
><TT
CLASS="OPTION"
>-U <TT
CLASS="REPLACEABLE"
><I
>username</I
></TT
></TT
><BR><TT
CLASS="OPTION"
>--username=<TT
CLASS="REPLACEABLE"
><I
>username</I
></TT
></TT
></DT
><DD
><P
>        User name to connect as.
       </P
></DD
><DT
><TT
CLASS="OPTION"
>-w</TT
><BR><TT
CLASS="OPTION"
>--no-password</TT
></DT
><DD
><P
>        Never issue a password prompt.  If the server requires
        password authentication and a password is not available by
        other means such as a <TT
CLASS="FILENAME"
>.pgpass</TT
> file, the
        connection attempt will fail.  This option can be useful in
        batch jobs and scripts where no user is present to enter a
        password.
       </P
></DD
><DT
><TT
CLASS="OPTION"
>-W</TT
><BR><TT
CLASS="OPTION"
>--password</TT
></DT
><DD
><P
>        Force <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> to prompt for a
        password before connecting to a database.
       </P
><P
>        This option is never essential, since
        <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> will automatically prompt
        for a password if the server demands password authentication.
        However, <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> will waste a
        connection attempt finding out that the server wants a password.
        In some cases it is worth typing <TT
CLASS="OPTION"
>-W</TT
> to avoid the extra
        connection attempt.
       </P
></DD
></DL
></DIV
><P>
   </P
><P
>    Other options are also available:

    <P
></P
></P><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="OPTION"
>-V</TT
><BR><TT
CLASS="OPTION"
>--version</TT
></DT
><DD
><P
>       Print the <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> version and exit.
       </P
></DD
><DT
><TT
CLASS="OPTION"
>-?</TT
><BR><TT
CLASS="OPTION"
>--help</TT
></DT
><DD
><P
>       Show help about <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> command line
       arguments, and exit.
       </P
></DD
></DL
></DIV
><P>
   </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN86197"
></A
><H2
>Environment</H2
><P
>   This utility, like most other <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> utilities,
   uses the environment variables supported by <SPAN
CLASS="APPLICATION"
>libpq</SPAN
>
   (see <A
HREF="libpq-envars.html"
>Section 31.14</A
>).
  </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN86203"
></A
><H2
>Notes</H2
><P
>   When using <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> instead of
   <A
HREF="runtime-config-wal.html#GUC-ARCHIVE-COMMAND"
>archive_command</A
>, the server will continue to
   recycle transaction log files even if the backups are not properly
   archived, since there is no command that fails. This can be worked
   around by having an <A
HREF="runtime-config-wal.html#GUC-ARCHIVE-COMMAND"
>archive_command</A
> that fails
   when the file has not been properly archived yet, for example:
</P><PRE
CLASS="PROGRAMLISTING"
>archive_command = 'sleep 5 &amp;&amp; test -f /mnt/server/archivedir/%f'</PRE
><P>
   The initial timeout is necessary because
   <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> works using asynchronous
   replication and can therefore be slightly behind the master.
  </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN86211"
></A
><H2
>Examples</H2
><P
>   To stream the transaction log from the server at
   <TT
CLASS="LITERAL"
>mydbserver</TT
> and store it in the local directory
   <TT
CLASS="FILENAME"
>/usr/local/pgsql/archive</TT
>:
</P><PRE
CLASS="SCREEN"
><SAMP
CLASS="PROMPT"
>$</SAMP
> <KBD
CLASS="USERINPUT"
>pg_receivexlog -h mydbserver -D /usr/local/pgsql/archive</KBD
></PRE
><P></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN86219"
></A
><H2
>See Also</H2
><A
HREF="app-pgbasebackup.html"
>pg_basebackup</A
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="app-pg-isready.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="app-pgrestore.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><SPAN
CLASS="APPLICATION"
>pg_isready</SPAN
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="reference-client.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>pg_restore</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>