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

Kiyoshi Mizuno kiyoshi_mizuno @ mail.toyota.co.jp
2005年 10月 17日 (月) 15:47:22 JST


水野です。

> -----Original Message-----
> [pgsql-jp: 36141]で綾さんも指摘されていますが、
> 前回のトランザクションが終了していないために
> WARNNINGになっているのではないでしょうか?

改めてキーログ(今回は残しておいた)を見てみました。
おっしゃる通り、1つめのテストをした後トランザクションを
閉じずに2つ目のテストを開始してました。
どうもお騒がせしました。

> 【正しく動作する場合】
> template1=# begin	←「begin」と無駄なくタイプ
> template1-# \d
>                 リレーションの一覧
>  スキーマ |       名前       |    型    |  所有者
> ----------+------------------+----------+----------
>  public   | geometry_columns | テーブル | postgres
>  public   | pg_logdir_ls     | ビュー   | postgres
>  public   | spatial_ref_sys  | テーブル | postgres
> (3 行)
> 
> template1-# ;
> BEGIN		←期待通り正常にトランザクション開始
> template1=#

  ※ここで「end;」してトランザクションを閉じていない

> 【正しく動作しない場合】
> template1=# begin	←「begin 」と後ろに半角ブランクを付けてタイプ
> template1-# \d
>                 リレーションの一覧
>  スキーマ |       名前       |    型    |  所有者
> ----------+------------------+----------+----------
>  public   | geometry_columns | テーブル | postgres
>  public   | pg_logdir_ls     | ビュー   | postgres
>  public   | spatial_ref_sys  | テーブル | postgres
> (3 行)

template1-# ;
WARNING:  there is already a transaction in progress
BEGIN		↑狙い通りのメッセージ出力
template1=#




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