我使用DataGrip在Redshift群集上运行查询,这些查询运行10小时以上,不幸的是这些查询通常会失败。唉,DataGrip不会维护与数据库的连接足够长的时间,以至于我看不到查询失败的错误消息。检索Redshift错误消息
以后有没有办法检索这些错误信息,例如,使用内部的Redshift表?另外,是否有办法让DataGrip维持足够长的连接?
我使用DataGrip在Redshift群集上运行查询,这些查询运行10小时以上,不幸的是这些查询通常会失败。唉,DataGrip不会维护与数据库的连接足够长的时间,以至于我看不到查询失败的错误消息。检索Redshift错误消息
以后有没有办法检索这些错误信息,例如,使用内部的Redshift表?另外,是否有办法让DataGrip维持足够长的连接?
是的,你可以!
查询stl_connection_log
表通过查看recordtime
列找出pid
时启动了您的连接,也dbname
,username
和duration
列有助于缩小。
SELECT * FROM stl_connection_log为了通过recordtime DESC LIMIT 100
如果你能找到pid
,您可以查询stl_query
表,以找出是否正在寻找合适的查询。
SELECT * FROM stl_query其中pid = 'XXXX' 限100
然后,检查stl_error
表为您pid
。这会告诉你你正在寻找的错误。
SELECT * FROM stl_error其中pid = 'XXXX' 限100
如果我做了一个坏的假设,请评论,我会重新调整我的答案。