Да, есть несколько способов прервать выполнение долгого запроса в командной оболочке и в Django без использования внешних пакетов или запроса к pg_stat_activity.
1. В командной оболочке:
- Если запрос выполняется в фоновом режиме с помощью `&`, можно использовать комбинацию клавиш `Ctrl + Z`, чтобы приостановить процесс, а затем `kill %1`, чтобы завершить его.
- Если запрос выполняется в основном режиме, можно использовать комбинацию клавиш `Ctrl + C`, чтобы завершить выполнение запроса.
2. В Django:
- Если запрос выполняется во view функции, вы можете прервать выполнение запроса, если клиентская сторона закрыла соединение раньше, чем запрос был завершен. Таким образом, вы можете просто разорвать соединение на стороне клиента, чтобы остановить выполнение запроса.
- Если запрос выполняется во внутренних процессах Django, вы можете воспользоваться флагом `Thread.interrupt_main()`, чтобы прервать выполнение запроса.
Итак, в обоих случаях есть способы прервать выполнение долгого запроса без использования внешних пакетов или метода `cursor.execute("SELECT ... FROM pg_stat_activity ...")`.