START TRANSACTION

Name

START TRANSACTION -- トランザクションブロックの開始

Synopsis

START TRANSACTION [ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ]
  

入力

ありません。

出力

START TRANSACTION

成功した時に返されるメッセージです。

WARNING: BEGIN:already a transaction in progress

コマンドが発行された時に、既に実行中のトランザクションがある場合に返されるメッセージです。

説明

このコマンドは新しいトランザクションを開始します。 隔離レベルが指定されていれば、新しいトランザクションはその隔離レベルに設定されます。 他のすべての点において、このコマンドの振る舞いは BEGIN コマンドと同じです。

注釈

トランザクションの隔離レベルは、SET TRANSACTION コマンドを使用して設定することもできます。 隔離レベルが指定されていない場合は、デフォルトの隔離レベルが使用されます。

互換性

SQL99

SERIALIZABLESQL99 ではデフォルトの隔離レベルですが、PostgreSQL の通常のデフォルトではありません。製品出荷時の設定は READ COMMITTED です。PostgreSQLREAD UNCOMMITTEDREPEATABLE READ という隔離レベルを提供していません。 述部ロックを行えないので、SERIALIZABLE レベルは厳密にはシリアライザブルではありません。詳細はユーザガイドを参照してください。

SQL99 ではこの文で、新しいトランザクションについて次の 2 つのプロパティを指定できます。トランザクションが読み取り専用であるかどうかということと診断領域のサイズです 。 これらの概念は現在 PostgreSQL ではサポートされていません。