基于https://pygresql.readthedocs.io/en/latest/contents/pg/adaptation.html
sql = "SELECT * FROM user_table WHERE login = %s AND passwd = %s"
db.query_formatted(sql, (login, passwd)).getresult()[0]
我重用了这段代码来尝试使用库 SQL 替换,如下例所示:
import pg
pg.DB(*credentials)
sql = "select %s, %s from my.table limit 10"
c.query_formatted(sql, ("id", "event_time")).getresult()[0]
并尝试查询 Redshift 表。
不幸的是,我收到此错误消息
{InternalError}ERROR: Assert
DETAIL:
-----------------------------------------------
error: Assert
code: 1000
context: false - Invalid type: 705
query: 9876543
location: tbl_trans.hpp:923
process: padbmaster [pid=6543]
-----------------------------------------------
我真的不知道如何解释。
我还尝试与另一个客户进行查询
select *
from stl_error
where pid = 6543;
但我得到的是:
userid,process,recordtime,pid,errcode,file,linenum,context,error
100,padbmaster,2021-03-01 12:00:00,6543,1000,/home/ec2-user/padb/src/sys/tbl_trans.hpp,923,Assert,false - Invalid type: 705
有人知道这里有什么问题吗?还有什么建议吗?