我的查询(从现有表创建新表)需要很长时间。所以我在我的办公室建立了一个远程数据库——那里有更多的内存。
我可以像往常一样使用 psql 从家里连接到我的数据库。
如何告诉远程服务器从终端执行我的查询而不必等待响应?
(postgresql-9.2 , linux 环境)
编辑:我对其他解决方案持开放态度,没有必要使用 psql
您可以尝试发送psql
到后台:
psql -f your_sql_file.sql &
Run Code Online (Sandbox Code Playgroud)
或者,连接到本地数据库,您可以使用dblink
将查询分派到远程数据库:
SELECT dblink_connect('your_connection_name', 'your_connection_string');
SELECT dblink_send_query('your_connection_name', 'your_query');
Run Code Online (Sandbox Code Playgroud)
请注意,dblink_send_query
一次只能发送一个查询。因此,如果您想运行多个 SQL 语句,这不是您的解决方案。
或者,您可以pg_agent
在远程服务器上启动一项作业,这不需要手动干预,因此您的家庭设备的状态对运行您的作业没有影响。通过设置cron
(甚至更好,at
- 谢谢,Erwin)作业执行您的脚本可以实现相同的目的。
此外,如果您有一个手动启动的长时间运行的作业,您可以screen
在服务器上启动一个会话并从那里运行该文件。在这种情况下,您可以注销并回家,脚本将继续运行。
归档时间: |
|
查看次数: |
23478 次 |
最近记录: |