mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Make WAL-related utilities handle .partial WAL files properly.
Commit de76884
changed an archive recovery so that the last WAL
segment with old timeline was renamed with suffix .partial. It should
have updated WAL-related utilities so that they can handle such
.paritial WAL files, but we forgot that.
This patch changes pg_archivecleanup so that it can clean up even
archived WAL files with .partial suffix. Also it allows us to specify
.partial WAL file name as the command-line argument "oldestkeptwalfile".
This patch also changes pg_resetxlog so that it can remove .partial
WAL files in pg_xlog directory.
pg_xlogdump cannot handle .partial WAL files. Per discussion,
we decided only to document that limitation instead of adding the fix.
Because a user can easily work around the limitation (i.e., just remove
.partial suffix from the file name) and the fix seems complicated for
very narrow use case.
Back-patch to 9.5 where the problem existed.
Review by Michael Paquier.
Discussion: http://www.postgresql.org/message-id/CAHGQGwGxMKnVHGgTfiig2Bt_2djec0in3-DLJmtg7+nEiidFdQ@mail.gmail.com
This commit is contained in:
@ -215,6 +215,12 @@ PostgreSQL documentation
|
||||
Only the specified timeline is displayed (or the default, if none is
|
||||
specified). Records in other timelines are ignored.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<application>pg_xlogdump</> cannot read WAL files with suffix
|
||||
<literal>.partial</>. If those files need to be read, <literal>.partial</>
|
||||
suffix needs to be removed from the filename.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1>
|
||||
|
@ -60,8 +60,10 @@ archive_cleanup_command = 'pg_archivecleanup <replaceable>archivelocation</> %r'
|
||||
<para>
|
||||
When used as a standalone program all WAL files logically preceding the
|
||||
<replaceable>oldestkeptwalfile</> will be removed from <replaceable>archivelocation</>.
|
||||
In this mode, if you specify a <filename>.backup</> file name, then only the file prefix
|
||||
will be used as the <replaceable>oldestkeptwalfile</>. This allows you to remove
|
||||
In this mode, if you specify a <filename>.partial</> or <filename>.backup</>
|
||||
file name, then only the file prefix will be used as the
|
||||
<replaceable>oldestkeptwalfile</>. This treatment of <filename>.backup</>
|
||||
file name allows you to remove
|
||||
all WAL files archived prior to a specific base backup without error.
|
||||
For example, the following example will remove all files older than
|
||||
WAL file name <filename>000000010000003700000010</>:
|
||||
|
Reference in New Issue
Block a user