По какой-то причине я хочу установить тайм-аут соединения postgresql на 5 секунд. Я использую Zend Framework 1.12, а для создания соединения postgresql я использую класс Zend_Db_Adapter_Pdo_Pgsql, я не нашел никаких параметров, с помощью которых мы можем определить тайм-аут соединения.
Я ищу вокруг, но ничего не получил. Пожалуйста, дайте мне некоторое предложение, как я могу это сделать.
Спасибо
Я нашел решение: вам нужно установить таймаут перед каждым запросом:
$db->beginTransaction();
$db->query('SET LOCAL statement_timeout = 2000'); //2 Sek. Timeout
$res = $db->fetchAll($select);
Это влияет только на NEXT Query на БД, и это важно, что у вас есть транзакция. Без транзакции это не сработает. Если после него вы сделали еще один запрос (поймать таймаут, транзакцию отката), он все равно будет иметь TIMEOUT по умолчанию. Создание DB-процедуры не будет работать! Вы действительно должны установить тайм-аут в своей функции.
Вы нашли решение? Пробовал
$db->getConnection()->setAttribute(PDO::ATTR_TIMEOUT,1);
но не работает.