postgresql 当通过Lambda执行的同一查询永远运行时,通过SQL客户端在RDS中执行的SQL查询立即执行?

yyhrrdl8  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(109)

我有一个中等复杂度的RDS视图。问题是,当我通过Lambda(Python)从视图中选择 * 时,我会得到间歇性的超时错误,但当我在DBeaver(SQL客户端)中做同样的事情时,结果会立即返回。
几个注意事项:
1.我检查了RDS中的IOPS平衡,它始终保持在99%,因此没有问题。
1.相同的视图在SQL客户端中立即返回数据,所以可能是RDS-Lambda连接的问题?
1.但是其他Lambda使用相同的连接到相同的RDS示例,并且它们都成功地连接并完成工作。
1.在检查元数据表时,select * from view显示为Active query logged in database,因此不是查询返回了结果,而是Lambda没有收到结果。
1.工作节奏是每天,但超时是像一周一次左右。
99%的情况下,简单的重新执行lambda就可以了,但有时我们需要在sql客户端手动执行查询并获取结果。
pg_stat_Activity输出:

64jmpszr

64jmpszr1#

DBeaver(默认情况下)不会选择前面的所有行。它使用类似游标的东西,只获取前几页所需的行数。

相关问题