diff --git a/doc/FAQ b/doc/FAQ index 9cb429dd40c..aa4a1f1ea6c 100644 --- a/doc/FAQ +++ b/doc/FAQ @@ -1,7 +1,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL - Last updated: Sat Feb 2 16:46:36 EST 2002 + Last updated: Tue Feb 12 12:14:52 EST 2002 Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) @@ -80,6 +80,8 @@ 4.15.2) How do I get the value of a SERIAL insert? 4.15.3) Don't currval() and nextval() lead to a race condition with other users? + 4.15.4) Why aren't my sequence numbers reused on transaction abort? + Why are there gaps in the numbers of my sequence/SERIAL column? 4.16) What is an OID? What is a TID? 4.17) What is the meaning of some of the terms used in PostgreSQL? 4.18) Why do I get the error "ERROR: Memory exhausted in @@ -863,6 +865,13 @@ BYTEA bytea variable-length byte array (null-byte safe) No. Currval() returns the current value assigned by your backend, not by all users. + 4.15.4) Why aren't my sequence numbers reused on transaction abort? Why are + there gaps in the numbers of my sequence/SERIAL column? + + To improve concurrency, sequence values are given out to running + transactions as needed and are now locked until the transaction + completes. This causes gaps in numbering from aborted transactions. + 4.16) What is an OID? What is a TID? OIDs are PostgreSQL's answer to unique row ids. Every row that is diff --git a/doc/src/FAQ/FAQ.html b/doc/src/FAQ/FAQ.html index af0cb7b8b4f..8b7add79e76 100644 --- a/doc/src/FAQ/FAQ.html +++ b/doc/src/FAQ/FAQ.html @@ -14,7 +14,7 @@ alink="#0000ff">
Last updated: Sat Feb 2 16:46:36 EST 2002
+Last updated: Tue Feb 12 12:14:52 EST 2002
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@@ -119,6 +119,9 @@
SERIAL insert?
4.15.3) Don't currval() and
nextval() lead to a race condition with other users?
+ 4.15.4) Why aren't my sequence numbers reused
+ on transaction abort? Why are there gaps in the numbers of my
+ sequence/SERIAL column?
4.16) What is an OID? What is a
TID?
4.17) What is the meaning of some of the terms
@@ -1092,6 +1095,15 @@ BYTEA bytea variable-length byte array (null-byte safe)
No. Currval() returns the current value assigned by your backend, not by all users.
+To improve concurrency, sequence values are given out to running + transactions as needed and are now locked until the + transaction completes. This causes gaps in numbering from aborted + transactions. +