diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-03-28 20:17:13 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-03-28 20:17:13 +0000 |
| commit | fd42262836be6c3fdf77cc0c774964f04acdc913 (patch) | |
| tree | f45034cde07c773e6cf56621ba0f8b7933c40bfb /doc/src | |
| parent | bb3c00ee28721258d5d74c7827663a828b9387ae (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.sgml | 22 |
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> |
