Puoi provare a inviare psqlin background:
psql -f your_sql_file.sql &
Oppure, connettendosi al DB locale, è possibile utilizzare dblinkper inviare una query al DB remoto:
SELECT dblink_connect('your_connection_name', 'your_connection_string');
SELECT dblink_send_query('your_connection_name', 'your_query');
Si noti che dblink_send_querypuò inviare solo una query alla volta. Quindi, se si desidera eseguire più istruzioni SQL, questa non è la soluzione.
In alternativa, è possibile avviare un pg_agentlavoro sul server remoto, che non richiede alcun intervento manuale, pertanto lo stato della propria home box non ha alcun effetto sull'esecuzione del lavoro. Lo stesso può essere ottenuto impostando un lavoro cron(o meglio, atgrazie, Erwin) che esegue il tuo script.
Inoltre, se si dispone di un processo in esecuzione da molto tempo che si avvia manualmente, è possibile avviare una screensessione sul server ed eseguire il file da lì. In questo caso, è possibile disconnettersi e tornare a casa e lo script continuerà a funzionare.
tmuxquesto modo: "Sarò in grado di arrestare il mio computer locale e la query verrà comunque eseguita sul server remoto"?