Skip to content

Commit 11b7550

Browse files
committed
Merge branch 'PGPROEE9_6' of gitlab.postgrespro.ru:pgpro-dev/postgrespro into PGPROEE9_6
2 parents 0f2b48d + d226e93 commit 11b7550

File tree

4 files changed

+13
-12
lines changed

4 files changed

+13
-12
lines changed

doc/src/sgml/datatype.sgml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4544,13 +4544,16 @@ SELECT * FROM pg_attribute
45444544
<para>
45454545
Another identifier type used by the system is <type>xid</>, or transaction
45464546
(abbreviated <abbrev>xact</>) identifier. This is the data type of the system columns
4547-
<structfield>xmin</> and <structfield>xmax</>. Transaction identifiers are 32-bit quantities.
4547+
<structfield>xmin</> and <structfield>xmax</>.
4548+
In <productname>&productname;</productname>, transaction IDs
4549+
are implemented as 64-bit counters to prevent transaction ID wraparound.
4550+
For details, see <xref linkend="vacuum-for-wraparound">.
45484551
</para>
45494552

45504553
<para>
45514554
A third identifier type used by the system is <type>cid</>, or
45524555
command identifier. This is the data type of the system columns
4553-
<structfield>cmin</> and <structfield>cmax</>. Command identifiers are also 32-bit quantities.
4556+
<structfield>cmin</> and <structfield>cmax</>. Command identifiers are 32-bit quantities.
45544557
</para>
45554558

45564559
<para>

doc/src/sgml/ddl.sgml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,16 +1096,13 @@ CREATE TABLE circles (
10961096
</para>
10971097

10981098
<para>
1099-
Transaction identifiers are also 32-bit quantities. In a
1100-
long-lived database it is possible for transaction IDs to wrap
1101-
around. This is not a fatal problem given appropriate maintenance
1102-
procedures; see <xref linkend="maintenance"> for details. It is
1103-
unwise, however, to depend on the uniqueness of transaction IDs
1104-
over the long term (more than one billion transactions).
1099+
In <productname>&productname;</productname>, transaction IDs
1100+
are implemented as 64-bit counters to prevent transaction ID wraparound.
1101+
For details, see <xref linkend="vacuum-for-wraparound">.
11051102
</para>
11061103

11071104
<para>
1108-
Command identifiers are also 32-bit quantities. This creates a hard limit
1105+
Command identifiers are 32-bit quantities. This creates a hard limit
11091106
of 2<superscript>32</> (4 billion) <acronym>SQL</acronym> commands
11101107
within a single transaction. In practice this limit is not a
11111108
problem &mdash; note that the limit is on the number of

doc/src/sgml/func.sgml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17198,8 +17198,9 @@ SELECT collation for ('foo' COLLATE "de_DE");
1719817198
</table>
1719917199

1720017200
<para>
17201-
The internal transaction ID type (<type>xid</>) is 32 bits wide and
17202-
wraps around every 4 billion transactions. However, these functions
17201+
In <productname>&productname;</productname>, transaction IDs
17202+
are implemented as 64-bit counters to prevent transaction ID wraparound.
17203+
The following functions
1720317204
export a 64-bit format that is extended with an <quote>epoch</> counter
1720417205
so it will not wrap around during the life of an installation.
1720517206
The data type used by these functions, <type>txid_snapshot</type>,

doc/src/sgml/maintenance.sgml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@
405405
<productname>Postgres Pro Enterprise 9.6</productname> introduced
406406
64-bit transaction IDs, which are not subject to wraparound and
407407
do not need modulo-2<superscript>32</> arithmetic to be compared.
408-
Each tuple header contain two XIDs, so extending them would lead to
408+
Each tuple header contains two XIDs, so extending them would lead to
409409
high overhead. For that reason on-page XIDs are still 32-bit, but
410410
each page's header contains an offset, called <firstterm>epoch</>,
411411
to which they are added before comparing with each other.

0 commit comments

Comments
 (0)