

perlファイルpgをuse(インクルードみたいなの？)してpg::connectdbをしているんですが、そのSQLの返り値を確認したいと思っています

[code]

    #beginをかけます。
    
    $conn = Pg::connectdb("host=$host port=$port dbname=$dbname user=$user");
    $result = $conn->exec("lock table table_name in access exclusive mode nowait;");
    
    #commitかrollbackします。
    
[/code]

で、`$result`にデータが入ると思うんですけど、クエリ結果が問題なければ、`$result->resultStatus;`に値が入ったりますが、そもそもどこがsqlのエラーかどうかの判断をすればいいのか理解できていません。

どこを見るのが正確なんでしょうか？？


CC BY-SA 3.0
2017-10-10T05:12:53.323
38558
2017-10-10T22:39:21.217
2017-10-10T11:50:52.783
19110
20350
question
postgresql perl
perlファイルからpostgresqlに接続して結果を知りたい


質問はPerlというより libpg のお話だと思いますので、既にご紹介されている perldoc に加えて
libpgのドキュメントを読まれるのをお勧めしておきます。Perldocの日本語訳がよければ[こちら](http://perldoc.jp/docs/modules/pgsql_perl5-1.9.0/Pg.pod#pod2.32-32080-26524)もあります。

> どこを見るのが正確なんでしょうか？？

クエリ実行結果は `$result->resultStatus` の値で判定します。  
値は 次の定数のいずれかです。

  * PGRES_EMPTY_QUERY
  * PGRES_COMMAND_OK
  * PGRES_TUPLES_OK
  * PGRES_COPY_OUT
  * PGRES_COPY_IN
  * PGRES_BAD_RESPONSE
  * PGRES_NONFATAL_ERROR
  * PGRES_FATAL_ERROR

これらの定数の意味は libpg
の[ドキュメント](https://www.postgresql.jp/document/7.3/programmer/libpq-
exec.html)に書かれています。


CC BY-SA 3.0
2017-10-10T10:56:10.953
38566
2017-10-10T22:39:21.217
2017-10-10T22:39:21.217
5008
5008
38558
answer