我使用带有. 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