Ma requête (pour créer une nouvelle table de la table existante) prend très longtemps. Donc, j'ai mis en place une base de données distante dans mon bureau - more RAM là.
Je peux me connecter à ma base de données de la maison comme d'habitude avec PSQL.
Comment puis-je dire au serveur distant d'exécuter ma requête à partir du terminal sans avoir à attendre une réponse?
(PostgreSQL-9.2, Enviroment Linux)
Edit: Je suis ouvert à d'autres solutions, il n'est pas nécessaire d'utiliser psql
Vous pouvez essayer d'envoyer psql
à l'arrière-plan:
psql -f your_sql_file.sql &
Ou, se connectant à la DB locale, vous pouvez utiliser dblink
pour envoyer une requête à la télécommande DB:
SELECT dblink_connect('your_connection_name', 'your_connection_string');
SELECT dblink_send_query('your_connection_name', 'your_query');
Notez que dblink_send_query
ne peut envoyer qu'une requête à la fois. Donc, si vous souhaitez exécuter plusieurs instructions SQL, ce n'est pas votre solution.
Ou, vous pouvez commencer un pg_agent
Job sur le serveur distant, qui ne nécessite aucune intervention manuelle, l'état de votre boîte à domicile n'a aucun effet sur l'exécution de votre travail. La même chose peut être réalisée en mettant en place un cron
(ou même mieux, at
- Merci, ERWIN) EXÉCUTION DE VOTRE SCRIPTION.
De plus, si vous avez un travail de course à long terme que vous commencez manuellement, vous pouvez commencer une session screen
Session sur le serveur et exécuter le fichier à partir de là. Dans ce cas, vous pouvez vous déconnecter et rentrer à la maison et le script continuera à courir.