Você pode tentar enviar psql
para o plano de fundo:
psql -f your_sql_file.sql &
Ou, conectando-se ao banco de dados local, você pode usar dblink
para 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_query
só é 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_agent
trabalho 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 screen
sessã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.
tmux
seguinte maneira: 'Conseguirei desligar minha máquina local e a consulta ainda será processada no servidor remoto'?