]> granicus.if.org Git - postgresql/commitdiff
Update FAQ.
authorBruce Momjian <bruce@momjian.us>
Tue, 12 Feb 2002 17:14:55 +0000 (17:14 +0000)
committerBruce Momjian <bruce@momjian.us>
Tue, 12 Feb 2002 17:14:55 +0000 (17:14 +0000)
doc/FAQ
doc/src/FAQ/FAQ.html

diff --git a/doc/FAQ b/doc/FAQ
index 9cb429dd40c993325da0d3a2e35ca4d8152e71d6..aa4a1f1ea6c56f3da506dd2811bdef1670f7ca3c 100644 (file)
--- 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
index af0cb7b8b4fc51f79004803da7b7e94ff776da55..8b7add79e768a77e79a4bafc6d92d22e738cde5d 100644 (file)
@@ -14,7 +14,7 @@
   alink="#0000ff">
     <H1>Frequently Asked Questions (FAQ) for PostgreSQL</H1>
 
-    <P>Last updated: Sat Feb  2 16:46:36 EST 2002</P>
+    <P>Last updated: Tue Feb 12 12:14:52 EST 2002</P>
 
     <P>Current maintainer: Bruce Momjian (<A href=
     "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
     <SMALL>SERIAL</SMALL> insert?<BR>
      <A href="#4.15.3">4.15.3</A>) Don't <I>currval()</I> and
     <I>nextval()</I> lead to a race condition with other users?<BR>
+     <A href="#4.15.4">4.15.4</A>) Why aren't my sequence numbers reused
+     on transaction abort? Why are there gaps in the numbers of my
+     sequence/SERIAL column?<BR>
      <A href="#4.16">4.16</A>) What is an <SMALL>OID</SMALL>? What is a
     <SMALL>TID</SMALL>?<BR>
      <A href="#4.17">4.17</A>) What is the meaning of some of the terms
@@ -1092,6 +1095,15 @@ BYTEA           bytea           variable-length byte array (null-byte safe)
     <P>No. Currval() returns the current value assigned by your
     backend, not by all users.</P>
 
+    <H4><A name="4.15.4">4.15.4</A>) Why aren't my sequence numbers reused
+    on transaction abort? Why are there gaps in the numbers of my
+    sequence/SERIAL column?</H4>
+
+    <P>To improve concurrency, sequence values are given out to running
+    transactions as needed and are now <i>locked</i> until the
+    transaction completes. This causes gaps in numbering from aborted
+    transactions.
+
     <H4><A name="4.16">4.16</A>) What is an <SMALL>OID</SMALL>? What is
     a <SMALL>TID</SMALL>?</H4>