Postgresql 有没有一种方法可以在不等待完成的情况下运行SQL查询并断开连接?
我有一个这样的问题Postgresql 有没有一种方法可以在不等待完成的情况下运行SQL查询并断开连接?,postgresql,asynchronous,Postgresql,Asynchronous,我有一个这样的问题 CREATE TABLE AS SELECT * FROM SOME_TABLE WHERE some_complicated_query 执行此查询大约需要4个小时,但当我遇到连接问题或任何其他问题时,查询就会失败,永远不会完成,每次我都需要重新运行它 可能有人知道:有没有办法在不等待完成的情况下并行运行查询?如果客户机离开,查询将始终失败,因为它无法传递结果。服务器可能需要很长时间才能注意到客户机已离开,但最终查询将失败 您可以做的是在数据库服务器上启动客户机,然后
CREATE TABLE AS
SELECT * FROM SOME_TABLE
WHERE some_complicated_query
执行此查询大约需要4个小时,但当我遇到连接问题或任何其他问题时,查询就会失败,永远不会完成,每次我都需要重新运行它
可能有人知道:有没有办法在不等待完成的情况下并行运行查询?如果客户机离开,查询将始终失败,因为它无法传递结果。服务器可能需要很长时间才能注意到客户机已离开,但最终查询将失败 您可以做的是在数据库服务器上启动客户机,然后连接不会失败,语句将运行到完成。在UNIX上,您可以执行以下操作
nohup psql -c 'CREATE ...' &
要在后台启动客户端,则无需等待完成。我不知道,但您可以通过crontab运行它,或使用数据库服务器本身的pgAgent,或通过SSH连接到服务器并使用nohup(如果可用)。或tmux或screen…是的,但这对连接问题没有帮助,谢谢,但这对连接问题没有帮助,最好是以某种方式将作业分成小块,并实现一个幂等脚本来运行它,谢谢您确认我的想法!