2016-11-01 1 views
0

Я хочу запустить запрос в удаленной базе данных с параметром таймаута.Можно ли добавить параметр или что-то еще, чтобы установить время ожидания запроса, когда мы выполняем запрос через клиент pgAdmin/psql?

Например:

Select * from XYZ table 

, если этот запрос не возвращает результат в течение 2 мин, затем автоматически остановить этот процесс запроса.

фиктивная PSQL

@timeout select * from XYZ

возможно передать параметр времени ожидания во время выполнения, не касаясь любого файла конф?

ответ

0

В psql используйте statement_timeout(n), где n находится в миллисекундах. Или вы можете установить statement_timeout в postgresql.conf, но это повлияет на все сеансы.

+0

set statement_timeout = xxx ms используется для установки тайм-аута для всего запуска запроса после этого запроса. Но в этом случае нам нужно установить таймаут первым, прежде чем запускать запрос и сбрасывать запрос после запроса. Я хочу, чтобы тайм-аут автоматически устанавливал или перезапускал до и после запуска любого запроса. –

+0

Можете ли вы использовать 'statement_timeout (n)' перед запросом, запустить запрос и затем установить его обратно? – Nurjan

+0

Я пробую, как показано ниже: 1. set statement_timeout = 10000; 2. Выберите * из таблицы XYZ; 3.set statement_timeout = 0;/default timeout он работает нормально, но в этом случае нам нужно выполнить дополнительную работу (установить и сбросить таймаут) –

Смежные вопросы