[pgsql-jp: 36135] Re: psqlメタコマンドとトランザクション

Tatsuo Ishii ishii @ sraoss.co.jp
2005年 10月 14日 (金) 10:14:45 JST


石井です.

> 水野です。
> 
> 
> > -----Original Message-----
> > メタコマンドの実行は別物として動作するのでしょうか?
> 
> この動きがあるべき動作なのかは別にして、
> 後ろに続くのがメタコマンドの場合は”;”がなくても
> トランザクションが開始される、というかメタコマンド経由で
> 実行したコマンドはキー入力と独立したトランザクションとして
> 扱われているようです。(検証に使ったのは Windows版8.0.3)

トランザクションとかは関係ないですね.単にpsqlは;が入力されるまではバッ
クエンドにSQLコマンドを送信しないだけです.

> 【実験 その1】
> −−−−ここから−−−−ここから−−−−
> template1=# begin	←”;”なしでbeginをタイプ
> template1-# \d		←メタコマンド実行
>                 リレーションの一覧
>  スキーマ |       名前       |    型    |  所有者
> ----------+------------------+----------+----------
>  public   | geometry_columns | テーブル | postgres
>  public   | pg_logdir_ls     | ビュー   | postgres
>  public   | spatial_ref_sys  | テーブル | postgres
> (3 行)
> 
> template1-# ;		←beginを完結させる目的で”;”をタイプ
> WARNING:  there is already a transaction in progress
> BEGIN			↑もう始まった事になっている

これ,おかしいですね.もしかして,

\set AUTOCOMMIT off

とかしてませんか?
--
SRA OSS, Inc. Japan
Tatsuo Ishii



pgsql-jp メーリングリストの案内