У меня есть SQL запрос, который я отправляю со стороны сервера моего приложения, и кажется, что он никогда не истекает. Я делаю set statement_timeout TO 30000
в начале моего запроса, но это никогда не работает. Вот пример запроса:
set statement_timeout TO 30000; SELECT t1."building_id", t1."company_name", t1."secondary_name", t1."latitude", t1."longitude"
FROM public."businesses" t1 JOIN (
SELECT name, (ST_Dump(geom)).geom as geom
FROM public."us_states") t2
ON ST_Intersects(t1.geom, t2.geom) WHERE (t2."name" = 'California')
Запрос выполняется нормально, когда я выполняю обычный запрос, без геопространственного соединения, но что-то вроде запроса выше никогда не прерывается. Я также пытался добавить connectionTimeoutMillis
и idleTimeoutMillis
в строку подключения, но это тоже не работает. Вот как я подключаюсь к postgres:
const { Pool } = require("pg");
var config = {
user: username,
database: database,
password: password,
host: host,
connectionTimeoutMillis: 30000,
};
// Postgres Connection
var client = new Pool(config);
client.connect();
client.on('error', (err) => {
console.error('something bad has happened!', err.stack);
});
module.exports = {
queryPostgres: function (sql, cb) {
var query = client.query(sql, function (err, dbresult) {
if (err) {
console.log(err);
cb([]);
} else {
cb(dbresult.rows);
}
});
}
}
Затем я вызываю модуль следующим образом:
db.queryPostgres(sql, function (results) {});
Также в моем пакете . json, я делаю "pg": "*"
для pg
Кажется, что мой запрос никогда не прерывается, независимо от того, что я делаю при отправке запроса с сервера на postgres ... Если я выполнить тот же запрос в pgAdmin, запрос работает и время ожидания, так как я использую set statement_timeout
Может ли кто-нибудь помочь мне с этим? connectionTimeoutMillis
вообще работает с Pool
? Есть ли причина, по которой statement_timeout
будет работать в pgAdmin, но не будет работать, когда я отправляю его со стороны сервера моего приложения?
Также в моем пакете. json, я делаю "pg": "*"
для pg
Любая помощь будет принята с благодарностью!