[pgsql-jp: 41671] Re: トリガ設定で間違った構文を流してからエラーが消えない

Tomoaki Sato sato @ sraoss.co.jp
2014年 6月 2日 (月) 21:13:22 JST


佐藤です。

> 稲村と申します。
> 
> 調査を進めたところ、同じPgadminで管理している別のデータベースのトリガでもエ
> ラー表示がでることがわかりました。
> なのでPgadminの問題のような気がしてきました。
> 
> そんなことが起こるのか!?とちょっと信じられないのですが・・。
> 
> 解決はしていないのですが、Postgresqlの問題ではない感じなのでご連絡させていた
> だきました。
> お騒がせいたしました。<m(__)m>

pgAdmin のバージョンはいくつですか。

どうやら以下で報告されている pgAdmin のバグっぽいです。

  http://www.postgresql.org/message-id/1345904521.1957.1.camel@localhost.localdomain

1.16 以降ではなおっているようです。

> -----Original Message-----
> From: 稲村暢亮 [mailto:inamuran36 @ mahikari.or.jp]
> Sent: Saturday, May 3, 2014 3:18 PM
> To: 'pgsql-jp @ ml.postgresql.jp'
> Subject: RE: トリガ設定で間違った構文を流してからエラーが消えない
> 
> 稲村と申します。
> 
> 訂正がありました。
> エラー表示はtable1のみだったと記載しておりましたが、今試したところすべてのト
> リガーでエラーが表示されてしまいました。
> (oid部分はそのテーブルのOIDに変化)
> 
> 
> -----Original Message-----
> From: 稲村暢亮 [mailto:inamuran36 @ mahikari.or.jp]
> Sent: Saturday, May 3, 2014 2:17 PM
> To: 'pgsql-jp @ ml.postgresql.jp'
> Subject: トリガ設定で間違った構文を流してからエラーが消えない
> 
> 稲村と申します。
> 
> 現在トリガー関係のエラーで悩んでおります。
> お力添えをいただきたくメールしました。
> 
> 環境は
> Pgpool2(3.1.7)+postgresql(9.1.11)×2台(ストリーミングレプリケーション)
> DB管理にPgadminを利用しております。
> 
> そのPgadminからtable1へトリガー作成する際、間違った構文を流してしまい、
> Pgadminからエラーが返ってきました。
> 構文を修正し、トリガは設定できましたが、トリガーを再表示したときにエラーが
> 返ってくるようになってしまいました。
> その時Pgadmin上のトリガ表示は読み込みするたびに消えたり表示されたりという状
> 態です。
> どんな名前のトリガでも、複数個作っても同じエラーが返ってきます。
> 
> その時返ってくるエラーが
> 「エラーが起こりました:
> LINE11 AND t..tgname='トリガ名' AND cl.oid=40238700::oid ANDcl....」
> 
> oid=40238700はtable1に紐づいたoidのようです。
> 
> ちなみに間違って流したデータは
> --------------
> CREATE TRIGGER table1_tg
>   BEFORE INSERT UPDATE
>   ON table1
>   FOR EACH ROW
>   EXECUTE PROCEDURE trg01;
> -------------
> (OR が抜けた状態で実行)
> 
> です。
> 
> 運用上問題が出ているかどうかもわからず気持ち悪くて何とかしたいと思い、pgpool
> の再起動、postgresの再起動、データベースサーバの再起動をしてみましたが解決せ
> ず、システムテーブルを見たりしましたがよくわからずお手上げ状態になってしまい
> ました。
> 
> 想像するにシステムテーブルにおかしなデータが書き込まれてしまったのではないか
> と思っております。
> 
> 解決手段はありますでしょうか。


----
Tomoaki Sato <sato @ sraoss.co.jp>
SRA OSS, Inc. Japan


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