SET TRANSACTION .. DEFERRABLE missing docs?

Started by Magnus Haganderalmost 15 years ago4 messages
#1Magnus Hagander
magnus@hagander.net

I was reading through ref/set_transaction.sgml and noticed that the
only documentation of DEFERRABLE is that it's a PostgreSQL language
extension, not anything about what it actually does. Same for begin
and start_transaction. I see it described in README-SSI and for the
guc default_transaction_deferrable, but I think it needs to be
documented on that ref page as well.. (in fact, the guc docs refer to
the reference page, which doesn't have more info)

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

#2Kevin Grittner
Kevin.Grittner@wicourts.gov
In reply to: Magnus Hagander (#1)
Re: SET TRANSACTION .. DEFERRABLE missing docs?

Magnus Hagander wrote:

I was reading through ref/set_transaction.sgml and noticed that the
only documentation of DEFERRABLE is that it's a PostgreSQL language
extension, not anything about what it actually does. Same for begin
and start_transaction. I see it described in README-SSI and for the
guc default_transaction_deferrable, but I think it needs to be
documented on that ref page as well.. (in fact, the guc docs refer
to the reference page, which doesn't have more info)

Thanks for spotting that. I'll put something together.

-Kevin

#3Kevin Grittner
Kevin.Grittner@wicourts.gov
In reply to: Kevin Grittner (#2)
1 attachment(s)
Re: SET TRANSACTION .. DEFERRABLE missing docs?

Magnus Hagander wrote:

I was reading through ref/set_transaction.sgml and noticed that the
only documentation of DEFERRABLE is that it's a PostgreSQL language
extension, not anything about what it actually does. Same for begin
and start_transaction. I see it described in README-SSI and for the
guc default_transaction_deferrable, but I think it needs to be
documented on that ref page as well.. (in fact, the guc docs refer to
the reference page, which doesn't have more info)

I think the attached covers it.

-Kevin

Attachments:

ssi-set-transaction-deferrable.patchapplication/octet-stream; name=ssi-set-transaction-deferrable.patchDownload
*** a/doc/src/sgml/ref/set_transaction.sgml
--- b/doc/src/sgml/ref/set_transaction.sgml
***************
*** 135,140 **** SET SESSION CHARACTERISTICS AS TRANSACTION <replaceable class="parameter">transa
--- 135,151 ----
     among those listed.  This is a high-level notion of read-only that
     does not prevent all writes to disk.
    </para>
+ 
+   <para>
+    The <literal>DEFERRABLE</literal> transaction property has no effect
+    unless the transaction is also <literal>SERIALIZABLE</literal> and
+    <literal>READ ONLY</literal>.  When all of these properties are set on a
+    transaction, the transaction may block when first acquiring its snapshot,
+    after which it is able to run without the normal overhead of a
+    <literal>SERIALIZABLE</literal> transaction and without any risk of
+    contributing to or being cancelled by a serialization failure.  This mode
+    is well suited for long-running reports or backups.
+   </para>
   </refsect1>
  
   <refsect1>
#4Heikki Linnakangas
heikki.linnakangas@enterprisedb.com
In reply to: Kevin Grittner (#3)
Re: SET TRANSACTION .. DEFERRABLE missing docs?

On 06.03.2011 23:33, Kevin Grittner wrote:

Magnus Hagander wrote:

I was reading through ref/set_transaction.sgml and noticed that the
only documentation of DEFERRABLE is that it's a PostgreSQL language
extension, not anything about what it actually does. Same for begin
and start_transaction. I see it described in README-SSI and for the
guc default_transaction_deferrable, but I think it needs to be
documented on that ref page as well.. (in fact, the guc docs refer to
the reference page, which doesn't have more info)

I think the attached covers it.

Thanks, applied.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com