Skip to content

Commit 4230397

Browse files
committed
Add note in pg_rewind documentation about read-only files
When performing pg_rewind, the presence of a read-only file which is not accessible for writes will cause a failure while processing. This can cause the control file of the target data folder to be truncated, causing it to not be reusable with a successive run. Also, when pg_rewind fails mid-flight, there is likely no way to be able to recover the target data folder anyway, in which case a new base backup is the best option. A note is added in the documentation as well about. Reported-by: Christian H. Author: Michael Paquier Reviewed-by: Andrew Dunstan Discussion: https://postgr.es/m/20180104200633.17004.16377%40wrigleys.postgresql.org
1 parent a1f680d commit 4230397

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

doc/src/sgml/ref/pg_rewind.sgml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,26 @@ PostgreSQL documentation
9595
are currently on by default. <xref linkend="guc-full-page-writes">
9696
must also be set to <literal>on</>, but is enabled by default.
9797
</para>
98+
99+
<warning>
100+
<para>
101+
If <application>pg_rewind</application> fails while processing, then
102+
the data folder of the target is likely not in a state that can be
103+
recovered. In such a case, taking a new fresh backup is recommended.
104+
</para>
105+
106+
<para>
107+
<application>pg_rewind</application> will fail immediately if it finds
108+
files it cannot write directly to. This can happen for example when
109+
the source and the target server use the same file mapping for read-only
110+
SSL keys and certificates. If such files are present on the target server
111+
it is recommended to remove them before running
112+
<application>pg_rewind</application>. After doing the rewind, some of
113+
those files may have been copied from the source, in which case it may
114+
be necessary to remove the data copied and restore back the set of links
115+
used before the rewind.
116+
</para>
117+
</warning>
98118
</refsect1>
99119

100120
<refsect1>

0 commit comments

Comments
 (0)