Você pode tentar enviar psqlpara o plano de fundo:
psql -f your_sql_file.sql &
Ou, conectando-se ao banco de dados local, você pode usar dblinkpara enviar uma consulta ao banco de dados remoto:
SELECT dblink_connect('your_connection_name', 'your_connection_string');
SELECT dblink_send_query('your_connection_name', 'your_query');
Observe que dblink_send_querysó é possível enviar uma consulta por vez. Portanto, se você deseja executar várias instruções SQL, essa não é a sua solução.
Ou, você pode iniciar um pg_agenttrabalho no servidor remoto, o que não requer intervenção manual; portanto, o estado da sua caixa inicial não afeta a execução do seu trabalho. O mesmo pode ser alcançado configurando um trabalho cron(ou melhor ainda, at- obrigado, Erwin) executando seu script.
Além disso, se você tiver um trabalho de longa execução iniciado manualmente, poderá iniciar uma screensessão no servidor e executar o arquivo a partir daí. Nesse caso, você pode fazer logoff e voltar para casa, e o script continuará sendo executado.
tmuxseguinte maneira: 'Conseguirei desligar minha máquina local e a consulta ainda será processada no servidor remoto'?