有没有一种方法可以运行SQL查询并断开连接而无需等待完成?

时间:2019-05-14 05:43:55

标签: postgresql asynchronous

我有这样的查询

CREATE TABLE AS 
SELECT * FROM SOME_TABLE 
WHERE some_complicated_query

执行此查询大约需要4个小时,但是当我遇到连接问题或其他任何问题时,查询只会失败并且永远不会结束,因此我需要每次都重新运行它。

可能有人知道:有什么方法可以并行运行查询而无需等待完成?

1 个答案:

答案 0 :(得分:1)

如果客户端离开,查询将始终失败,因为它无法传达结果。服务器可能需要很长时间才能注意到客户端已消失,但最终查询将失败。

您可以做的是在数据库服务器上启动客户端,这样连接不会失败并且该语句将运行到完成。在UNIX上,您可以执行类似的操作

nohup psql -c 'CREATE ...' &

要在后台启动客户端,则无需等待完成。