/** Counters taken in one shot from `pg_stat_activity`. */ export interface DbPressureCounters { connections: number; idleInTxn: number; oldestIdleTxnS: number; maxSameQuery: number; trivialQueryMs: number; } export type DbPressure = ({ measured: true; warnings: string[]; } & DbPressureCounters) | { measured: false; reason: string; }; export declare const MAX_IDLE_TXN_AGE_S = 60; export declare const MAX_TRIVIAL_QUERY_MS = 1000; export declare const MAX_SAME_QUERY_CONCURRENCY = 10; export declare const DB_PRESSURE_SQL = "\nSELECT\n count(*)::int AS connections,\n count(*) FILTER (WHERE state = 'idle in transaction')::int AS idle_in_txn,\n coalesce(round(max(extract(epoch from (now() - state_change)))\n FILTER (WHERE state = 'idle in transaction'))::int, 0) AS oldest_idle_txn_s,\n coalesce((\n SELECT max(c) FROM (\n SELECT count(*)::int AS c FROM pg_stat_activity\n WHERE pid <> pg_backend_pid()\n AND datname = current_database()\n AND state = 'active'\n AND query <> ''\n GROUP BY query\n ) q\n ), 0)::int AS max_same_query\nFROM pg_stat_activity\nWHERE pid <> pg_backend_pid()\n AND datname = current_database()"; export declare function dbPressureWarnings(p: DbPressureCounters): string[]; export declare function probeDbPressure(exec: { execute: (sql: string) => Promise; }, options?: { trivialQueryMs?: number; }): Promise;