[PHP-users 14860]Re: [PHP-users14665]PEARでクエリが実行されるときとされない時がある
Youichi Iwakiri
yiwakiri @ st.rim.or.jp
2003年 4月 24日 (木) 12:25:56 JST
いわきりです
sorako yamamoto wrote in <Sea2-F325COCHT8TXx3000027dd @ hotmail.com> :
>感じ的にトランザクションの問題ではないかという気がしてます。
>> pgsqlより
>> >「current transaction is aborted, queries ignored until
>> >end of transaction block」
>> トランザクションが発生している箇所が記載されてませんので
>> 提示されたコードだけの問題ではなさそうですね。
>> または記載された関数をつかってBEGINを発行して
>> その後のfetchRowでエラーになってるとか。
>
>このソースでは、
>execUpdate()で、ロールバックも何も行っていないのですが、
>(1つのSQLしか処理しないので、あえてロールバックを行う必要もないのかなと思い
>入れてませんでしたが…?)
>この作りに問題があるのでしょうか。
PostgreSQL側で
current transaction is aborted, queries ignored until
end of transaction block
が、出ると言うことなので、PostgreSQLの起動時にデバッグレベルを上げて
ログを取れば、上記 NOTICEメッセージの出力される前行に実行された
SQLが残ります。
1.PHP側から渡すSQLとPostgreSQLが受け取っているSQLを見比べる。
2.psqlコマンドで、上記SQLを発行した場合、同様のNOTICEが出ないか確認
等を行ったらどうですか?
postmasterの起動停止が可能で無ければ管理者と相談して下さい。
$ pg_ctl restart -o '-d 1'
で、良かったと思いますが、必要な情報が取れないようなら`-d 1'の部分を
`-d 2'とかにして下さい。デバッグレベルは5まであります。
--
Youichi Iwakiri
PHP-users メーリングリストの案内