summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-03-28 20:17:13 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-03-28 20:17:13 +0000
commitfd42262836be6c3fdf77cc0c774964f04acdc913 (patch)
treef45034cde07c773e6cf56621ba0f8b7933c40bfb /doc/src
parentbb3c00ee28721258d5d74c7827663a828b9387ae (diff)
Add code to apply some simple sanity checks to the header fields of a
page when it's read in, per pghackers discussion around 17-Feb. Add a GUC variable zero_damaged_pages that causes the response to be a WARNING followed by zeroing the page, rather than the normal ERROR; this is per Hiroshi's suggestion that there needs to be a way to get at the data in the rest of the table.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/runtime.sgml22
1 files changed, 20 insertions, 2 deletions
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index cc6efab0cfc..18dd9fe4a43 100644
--- a/doc/src/sgml/runtime.sgml
+++ b/doc/src/sgml/runtime.sgml
@@ -1,5 +1,5 @@
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.174 2003/03/25 16:15:38 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.175 2003/03/28 20:17:13 tgl Exp $
-->
<Chapter Id="runtime">
@@ -1599,7 +1599,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
<para>
It should be noted that the performance penalty of having
- <varname>fsync</> on considerably less in
+ <varname>fsync</> on is considerably less in
<productname>PostgreSQL</> version 7.1 and later. If you
previously suppressed <function>fsync</> for performance
reasons, you may wish to reconsider your choice.
@@ -2174,6 +2174,24 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>ZERO_DAMAGED_PAGES</varname> (<type>boolean</type>)</term>
+ <listitem>
+ <para>
+ Detection of a damaged page header normally causes
+ <productname>PostgreSQL</> to report an error, aborting the current
+ transaction. Setting <varname>zero_damaged_pages</> to true causes
+ the system to instead report a warning, zero out the damaged page,
+ and continue processing. This behavior <emphasis>will lose data</>,
+ namely all the rows on the damaged page. But it allows you to get
+ past the error and retrieve rows from any undamaged pages that may
+ be present in the table. So it is useful for recovering data if
+ corruption has occurred due to hardware or software error. The
+ default setting is off, and it can only be changed by a superuser.
+ </para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</sect2>