Vous pouvez essayer d'envoyer psqlen arrière-plan:
psql -f your_sql_file.sql &
Ou, en vous connectant à la base de données locale, vous pouvez utiliser dblinkpour envoyer une requête vers la base de données distante:
SELECT dblink_connect('your_connection_name', 'your_connection_string');
SELECT dblink_send_query('your_connection_name', 'your_query');
Notez que dblink_send_queryvous ne pouvez envoyer qu'une seule requête à la fois. Donc, si vous souhaitez exécuter plusieurs instructions SQL, ce n'est pas votre solution.
Ou, vous pouvez démarrer un pg_agenttravail sur le serveur distant, ce qui ne nécessite aucune intervention manuelle, par conséquent, l'état de votre box d'accueil n'a aucun effet sur l'exécution de votre travail. La même chose peut être obtenue en configurant un travail cron(ou mieux encore, atmerci Erwin) exécutant votre script.
En outre, si vous avez un travail long que vous démarrez manuellement, vous pouvez démarrer une screensession sur le serveur et exécuter le fichier à partir de là. Dans ce cas, vous pouvez vous déconnecter et rentrer chez vous, et le script continuera de fonctionner.
               
              
tmuxfonctionne- t-il de cette façon: «Pourrai-je arrêter ma machine locale et la requête sera toujours traitée sur le serveur distant»?