On Tue, Dec 27, 2016 at 01:28:17PM +0900, Michael Paquier wrote:
> On Tue, Dec 27, 2016 at 6:56 AM, Bruce Momjian <[email protected]> wrote:
> > I have found that pg_xlogdump looks for WAL files in the in the current
> > directory and the pg_wal subdirectory of both the current directory and
> > the PGDATA directory. Doc patch attached.
>
> The whole behavior is listed in pg_xlogdump.c here:
> /*
> * Try to find the file in several places:
> * if directory == NULL:
> * fname
> * XLOGDIR / fname
> * $PGDATA / XLOGDIR / fname
> * else
> * directory / fname
> * directory / XLOGDIR / fname
> *
> * return a read only fd
> */
> static int
> fuzzy_open_file(const char *directory, const char *fname)
>
> Updating the docs the way your patch does does not look enough IMO:
OK.
> 1) pg_xlogdump --help should mention PGDATA as well for the default
> behavior, and should make clear the default and when -p is defined:
> -p, --path=PATH directory in which to find log segment files
> (default: ./pg_wal)
Ah, good point. The new output is:
-p, --path=PATH directory in which to find log segment files
(default: current directory, ./pg_wal, $PGDATA/pg_wal)
> 2) The documentation does not mention that if a directory is defined
> pg_xlogdump will try to look as well at defined_dir/pg_wal.
Uh, I think it does in the first sentence:
Directory in which to find log segment files.
Updated patch attached.
--
Bruce Momjian <[email protected]> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +
diff --git a/doc/src/sgml/ref/pg_xlogdump.sgml b/doc/src/sgml/ref/pg_xlogdump.sgml
new file mode 100644
index cfb6d87..a229581
*** a/doc/src/sgml/ref/pg_xlogdump.sgml
--- b/doc/src/sgml/ref/pg_xlogdump.sgml
*************** PostgreSQL documentation
*** 118,125 ****
<listitem>
<para>
Directory in which to find log segment files. The default is to search
! for them in the <literal>pg_wal</literal> subdirectory of the current
! directory.
</para>
</listitem>
</varlistentry>
--- 118,126 ----
<listitem>
<para>
Directory in which to find log segment files. The default is to search
! for them in the current directory, and the <literal>pg_wal</literal>
! subdirectory of both the current directory and the
! <envar>PGDATA</envar> directory.
</para>
</listitem>
</varlistentry>
diff --git a/src/bin/pg_xlogdump/pg_xlogdump.c b/src/bin/pg_xlogdump/pg_xlogdump.c
new file mode 100644
index 0ad441e..9e92f25
*** a/src/bin/pg_xlogdump/pg_xlogdump.c
--- b/src/bin/pg_xlogdump/pg_xlogdump.c
*************** usage(void)
*** 680,686 ****
printf(_(" -f, --follow keep retrying after reaching end of WAL\n"));
printf(_(" -n, --limit=N number of records to display\n"));
printf(_(" -p, --path=PATH directory in which to find log segment files\n"
! " (default: ./pg_wal)\n"));
printf(_(" -r, --rmgr=RMGR only show records generated by resource manager RMGR\n"
" use --rmgr=list to list valid resource manager names\n"));
printf(_(" -s, --start=RECPTR start reading at log position RECPTR\n"));
--- 680,686 ----
printf(_(" -f, --follow keep retrying after reaching end of WAL\n"));
printf(_(" -n, --limit=N number of records to display\n"));
printf(_(" -p, --path=PATH directory in which to find log segment files\n"
! " (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n"));
printf(_(" -r, --rmgr=RMGR only show records generated by resource manager RMGR\n"
" use --rmgr=list to list valid resource manager names\n"));
printf(_(" -s, --start=RECPTR start reading at log position RECPTR\n"));
--
Sent via pgsql-docs mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs