Postgres アプリを使用して、Postgres 9.2.2 サーバーをローカルで実行していますssmode=disable
。すべてのテーブルは本来あるべきように作成され、SELECT
クエリは期待どおりに機能します。
Herokuで Postgres インスタンスを作成すると(サーバーは によると 9.1.6 ですpsql
) ssmode=require
、すべて正常に動作しますが、ローカルの postgres インスタンスでは結果が返されるのに対し、クエリは結果を返しません。
具体的なクエリは
SELECT * FROM "captcha" WHERE "cid" = $1 LIMIT $2
およびcid
/$1
はタイプcharacter varying(20)
です。
リモート インスタンスに接続してpsql
クエリを手動で実行すると、期待どおりに行が返されました。何がその異なる動作を引き起こす可能性があるのか 理解できません。
主な容疑者は、私が使用しているドライバーbmizerany/pqですが、この動作の他のエラー ソースはありますか?
アップデート:
単純なクエリで試してみましたが、同じ結果:結果セットに行がありません
SELECT * FROM "captcha" WHERE "cid" = 'JQRPm6qRpYukXCiPUpHZ' LIMIT 1
更新 2:
bytea
次のスニペットは、これらの 2 つの PG バージョンで実行する際の問題を示していますhttps://gist.github.com/eaigner/5004468