]transaction_modeは以下のいずれかです。DEFERRABLE説明BEGINはトランザクションブロックを初期化します。BEGINコマンド以降の文は全て、明示的なCOMMITもしくはROLLBACKが与えられるまで、単一のトランザクションの中で実行されます。デフォルト(BEGINがない場合)は、PostgreSQLはトランザクションを"自動コミット"で実行します。各文はそれぞれ固有のトランザクションの中で実行され、文の終わりで暗黙的にコミットが実行されます(これは実行が成功した場合です。失敗した場合はロールバックされます)。トランザクションブロック内では、文はより迅速に実行されます。トランザクションの開始やコミットは、CPUとディスクにかなり高い負荷をかけるからです。1つのトランザクションで複数の文を実行することは、複数の関連するテーブルを更新する際、確実に一貫性を保つためにも役立ちます。関連する更新の中に完了していないものが存在する中間的な状態が、他のセッションから参照できなくなるからです。TRANSACTIONが実行された時と同様の特性を持ちます。パラメータWORKTRANSACTION省略可能なキーワードです。これらは何も効果がありません。TRANSACTIONを参照してください。TRANSACTIONにはBEGINと同じ機能があります。トランザクションを終了させるにはCOMMITまたはROLLBACKを使用してください。トランザクションブロック内でBEGINを発行すると、警告メッセージが表示されます。トランザクションの状態には影響ありません。(詳しくはSAVEPOINTを参照してください)。後方互換性の保持のため、連続するtransaction_modes間のカンマは省略することができます。例トランザクションブロックを開始します。BEGIN;互換性BEGINはPostgreSQLの拡張です。TRANSACTIONコマンドと等価です。このマニュアルページには互換性に関する詳細な情報が含まれます。transaction_modeはPostgreSQLの言語拡張です。埋め込みSQLでは、BEGINというキーワードを異なった目的に使用しています。データベースアプリケーションを移植する時は、トランザクションの意味で使用されているのかどうかに注意してください。CHECKPOINT。