diff options
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/config.sgml | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 0f8f2ef920d..c4effa034c1 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -8161,6 +8161,38 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' </listitem> </varlistentry> + <varlistentry id="guc-data-sync-retry" xreflabel="data_sync_retry"> + <term><varname>data_sync_retry</varname> (<type>boolean</type>) + <indexterm> + <primary><varname>data_sync_retry</varname> configuration parameter</primary> + </indexterm> + </term> + <listitem> + <para> + When set to false, which is the default, <productname>PostgreSQL</productname> + will raise a PANIC-level error on failure to flush modified data files + to the filesystem. This causes the database server to crash. + </para> + <para> + On some operating systems, the status of data in the kernel's page + cache is unknown after a write-back failure. In some cases it might + have been entirely forgotten, making it unsafe to retry; the second + attempt may be reported as successful, when in fact the data has been + lost. In these circumstances, the only way to avoid data loss is to + recover from the WAL after any failure is reported, preferably + after investigating the root cause of the failure and replacing any + faulty hardware. + </para> + <para> + If set to true, <productname>PostgreSQL</productname> will instead + report an error but continue to run so that the data flushing + operation can be retried in a later checkpoint. Only set it to true + after investigating the operating system's treatment of buffered data + in case of write-back failure. + </para> + </listitem> + </varlistentry> + </variablelist> </sect1> |