You can try sending psql
to the background:
psql -f your_sql_file.sql &
Or, connecting to the local DB, you can use dblink
to dispatch a query to the remote DB:
SELECT dblink_connect('your_connection_name', 'your_connection_string');
SELECT dblink_send_query('your_connection_name', 'your_query');
Note that dblink_send_query
can only send one query at a time. So, if you want to run multiple SQL statements, this is not your solution.
Or, you can start a pg_agent
job on the remote server, which requires no manual intervention, therefore the state of your home box has no effect on running your job. The same can be achieved by setting up a cron
(or even better, at
- thanks, Erwin) job executing your script.
Additionally, if you have a long running job which you start manually, you can start a screen
session on the server and run the file from there. In this case, you can log off and go home, and the script will keep running.