Вы можете попробовать отправить psqlв фоновом режиме:
psql -f your_sql_file.sql &
Или, подключившись к локальной БД, вы можете использовать dblinkдля отправки запроса на удаленную БД:
SELECT dblink_connect('your_connection_name', 'your_connection_string');
SELECT dblink_send_query('your_connection_name', 'your_query');
Обратите внимание, что одновременно dblink_send_queryможно отправлять только один запрос. Итак, если вы хотите запустить несколько операторов SQL, это не ваше решение.
Или вы можете запустить pg_agentзадание на удаленном сервере, которое не требует ручного вмешательства, поэтому состояние вашего домашнего ящика не влияет на выполнение задания. То же самое может быть достигнуто путем создания cron(или даже лучше, at- спасибо, Эрвин) задания по выполнению вашего сценария.
Кроме того, если у вас есть длительное задание, которое вы запускаете вручную, вы можете запустить screenсеанс на сервере и запустить файл оттуда. В этом случае вы можете выйти из системы и вернуться домой, и скрипт продолжит работу.
tmuxтак: «Смогу ли я завершить работу своего локального компьютера, и запрос все еще обрабатывается на удаленном сервере»?