Sorry, my last email went without the attachment.
On 06.09.2016 01:09, Egor Rogov wrote:
Tom Lane <[hidden email]
</user/SendEmail.jtp?type=node&node=5919578&i=0>> writes:
> It'd be more likely to get pushed if you'd submitted it in an easily
> reviewable form, ie without reflowing the entire (rather long)
paragraph.
> As-is, it's much too hard to see what you changed or didn't change.
Please find another patch attached. I hope it is a bit easier to
review now.
*maintenance-2.patch* (2K) Download Attachment
<http://postgresql.nabble.com/attachment/5919578/0/maintenance-2.patch>
Regards,
Egor Rogov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml
index 2713883..7d1ee4e 100644
--- a/doc/src/sgml/maintenance.sgml
+++ b/doc/src/sgml/maintenance.sgml
@@ -406,26 +406,23 @@
<para>
The reason that periodic vacuuming solves the problem is that
- <command>VACUUM</> will mark rows as <emphasis>frozen</>, indicating that
+ <command>VACUUM</> will mark rows as <emphasis>frozen</> (by setting appropriate hint bits), indicating that
they were inserted by a transaction which committed sufficiently far in
the past that the effects of the inserting transaction is certain to be
visible, from an MVCC perspective, to all current and future transactions.
- <productname>PostgreSQL</> reserves a special XID,
- <literal>FrozenTransactionId</>, which does not follow the normal XID
- comparison rules and is always considered older
- than every normal XID. Normal XIDs are
+ Usually XIDs are
compared using modulo-2<superscript>32</> arithmetic. This means
- that for every normal XID, there are two billion XIDs that are
+ that for every XID, there are two billion XIDs that are
<quote>older</> and two billion that are <quote>newer</>; another
- way to say it is that the normal XID space is circular with no
+ way to say it is that the XID space is circular with no
endpoint. Therefore, once a row version has been created with a particular
- normal XID, the row version will appear to be <quote>in the past</> for
- the next two billion transactions, no matter which normal XID we are
- talking about. If the row version still exists after more than two billion
+ XID, the row version will appear to be <quote>in the past</> for
+ the next two billion transactions.
+ If the row version still exists after more than two billion
transactions, it will suddenly appear to be in the future. To
- prevent this, frozen row versions are treated as if the inserting XID were
- <literal>FrozenTransactionId</>, so that they will appear to be
- <quote>in the past</> to all normal transactions regardless of wraparound
+ prevent this, usual visibility rules are not applied to frozen row versions.
+ Instead they are considered to be
+ <quote>in the past</> to all transactions regardless of wraparound
issues, and so such row versions will be valid until deleted, no matter
how long that is.
</para>
--
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs