mirror of
https://github.com/postgres/postgres.git
synced 2025-04-22 23:02:54 +03:00
Cleanup Win32 COPY handling, and move archive examples to SGML.
This commit is contained in:
parent
43ea65a0dc
commit
10249abfa1
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.275 2004/08/08 20:17:33 tgl Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.276 2004/08/12 19:03:17 momjian Exp $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<Chapter Id="runtime">
|
<Chapter Id="runtime">
|
||||||
@ -1435,16 +1435,24 @@ SET ENABLE_SEQSCAN TO OFF;
|
|||||||
<term><varname>archive_command</varname> (<type>string</type>)</term>
|
<term><varname>archive_command</varname> (<type>string</type>)</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
The shell command to execute to archive a completed segment of the
|
The shell command to execute to archive a completed segment of
|
||||||
WAL file series. If this is an empty string (which is the default),
|
the WAL file series. If this is an empty string (the default),
|
||||||
WAL archiving is disabled. Any <literal>%p</> in the string is
|
WAL archiving is disabled. Any <literal>%p</> in the string is
|
||||||
replaced
|
replaced by the absolute path of the file to archive, and any
|
||||||
by the absolute path of the file to archive, while any <literal>%f</>
|
<literal>%f</> is replaced by the file name only. Use
|
||||||
is replaced by the file name only. Write <literal>%%</> if you need
|
<literal>%%</> to embed an actual <literal>%</> character in the
|
||||||
to embed an actual <literal>%</> character in the command. For more
|
command. For more information see <xref
|
||||||
information see <xref linkend="backup-archiving-wal">. This option
|
linkend="backup-archiving-wal">. This option can only be set at
|
||||||
can only be set at server start or in the
|
server start or in the <filename>postgresql.conf</filename>
|
||||||
<filename>postgresql.conf</filename> file.
|
file.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
It is important for the command to return a zero exit status only if
|
||||||
|
it succeeds. Examples:
|
||||||
|
<programlisting>
|
||||||
|
archive_command = 'cp "%p" /mnt/server/archivedir/"%f"'
|
||||||
|
archive_command = 'copy "%p" /mnt/server/archivedir/"%f"' # Win32
|
||||||
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.161 2004/08/12 18:34:45 momjian Exp $
|
* $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.162 2004/08/12 19:03:23 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -1962,18 +1962,6 @@ RestoreArchivedFile(char *path, const char *xlogfname,
|
|||||||
/* %p: full path of target file */
|
/* %p: full path of target file */
|
||||||
sp++;
|
sp++;
|
||||||
StrNCpy(dp, xlogpath, endp-dp);
|
StrNCpy(dp, xlogpath, endp-dp);
|
||||||
/*
|
|
||||||
* make_native_path() is required because WIN32 COPY is
|
|
||||||
* an internal CMD.EXE command and doesn't process
|
|
||||||
* forward slashes in the same way as external commands.
|
|
||||||
* Quoting the first argument to COPY does not convert
|
|
||||||
* forward to backward slashes, but COPY does properly
|
|
||||||
* process quoted forward slashes in the second argument.
|
|
||||||
*
|
|
||||||
* COPY works with quoted forward slashes in the first argument
|
|
||||||
* only if the current directory is the same as the directory
|
|
||||||
* of the first argument.
|
|
||||||
*/
|
|
||||||
make_native_path(dp);
|
make_native_path(dp);
|
||||||
dp += strlen(dp);
|
dp += strlen(dp);
|
||||||
break;
|
break;
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/postmaster/pgarch.c,v 1.6 2004/08/09 16:26:06 tgl Exp $
|
* $PostgreSQL: pgsql/src/backend/postmaster/pgarch.c,v 1.7 2004/08/12 19:03:34 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -436,17 +436,8 @@ pgarch_archiveXlog(char *xlog)
|
|||||||
/* %p: full path of source file */
|
/* %p: full path of source file */
|
||||||
sp++;
|
sp++;
|
||||||
StrNCpy(dp, pathname, endp-dp);
|
StrNCpy(dp, pathname, endp-dp);
|
||||||
#ifndef WIN32
|
make_native_path(dp);
|
||||||
dp += strlen(dp);
|
dp += strlen(dp);
|
||||||
#else
|
|
||||||
/* On Windows, change / to \ in the substituted path */
|
|
||||||
while (*dp)
|
|
||||||
{
|
|
||||||
if (*dp == '/')
|
|
||||||
*dp = '\\';
|
|
||||||
dp++;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
/* %f: filename of source file */
|
/* %f: filename of source file */
|
||||||
|
@ -117,16 +117,6 @@
|
|||||||
# - Archiving -
|
# - Archiving -
|
||||||
|
|
||||||
#archive_command = '' # command to use to archive a logfile segment
|
#archive_command = '' # command to use to archive a logfile segment
|
||||||
#
|
|
||||||
# If archive_command is '' then archiving is disabled. Otherwise, set it
|
|
||||||
# to a command to copy a file to the proper place. Any %p in the string
|
|
||||||
# is replaced by the absolute path of the file to archive, while any %f is
|
|
||||||
# replaced by the file name only. NOTE: it is important for the command to
|
|
||||||
# return zero exit status only if it succeeds.
|
|
||||||
#
|
|
||||||
# Examples:
|
|
||||||
# archive_command = 'cp "%p" /mnt/server/archivedir/"%f"'
|
|
||||||
# archive_command = 'copy "%p" /mnt/server/archivedir/"%f"' # Win32
|
|
||||||
|
|
||||||
|
|
||||||
#---------------------------------------------------------------------------
|
#---------------------------------------------------------------------------
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/port/path.c,v 1.28 2004/08/12 18:32:52 momjian Exp $
|
* $PostgreSQL: pgsql/src/port/path.c,v 1.29 2004/08/12 19:03:44 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -88,8 +88,17 @@ last_dir_separator(const char *filename)
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* make_native_path
|
* make_native_path - on WIN32, change / to \ in the path
|
||||||
* On WIN32, change / to \ in the path.
|
*
|
||||||
|
* This is required because WIN32 COPY is an internal CMD.EXE
|
||||||
|
* command and doesn't process forward slashes in the same way
|
||||||
|
* as external commands. Quoting the first argument to COPY
|
||||||
|
* does not convert forward to backward slashes, but COPY does
|
||||||
|
* properly process quoted forward slashes in the second argument.
|
||||||
|
*
|
||||||
|
* COPY works with quoted forward slashes in the first argument
|
||||||
|
* only if the current directory is the same as the directory
|
||||||
|
* of the first argument.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
make_native_path(char *filename)
|
make_native_path(char *filename)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user