public inbox for [email protected]  
help / color / mirror / Atom feed
From: Egor Rogov <[email protected]>
To: [email protected]
Subject: Re: FrozenTransactionId
Date: Tue, 6 Sep 2016 10:24:05 +0300
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
List-Unsubscribe: <mailto:[email protected]?body=unsub%20pgsql-docs>

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



-- 
Sent via pgsql-docs mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs


Attachments:

  [text/x-patch] maintenance-2.patch (2.4K, 3-maintenance-2.patch)
  download | inline diff:
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>


view thread (10+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected]
  Subject: Re: FrozenTransactionId
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox