/** * PostgresPoolManager - 共享 PostgreSQL 连接池管理器 * * 解决多个组件(PostgresKeyValueStorage, PgQuintStore 等) * 创建独立连接池导致的死锁问题。 */ import { Pool } from 'pg'; interface PoolConfig { connectionString?: string; host?: string; port?: number; database?: string; user?: string; password?: string; options?: string; max?: number; idleTimeoutMillis?: number; connectionTimeoutMillis?: number; } interface PoolEntry { pool: Pool; refCount: number; } /** * 连接池管理器 - 按连接字符串共享连接池 */ declare class PoolManager { private pools; private defaultConfig; /** * 获取或创建连接池 */ getPool(config: PoolConfig): Pool; /** * 释放连接池引用 */ releasePool(config: PoolConfig, immediate?: boolean): void; /** * 生成连接池 key */ private getPoolKey; listPools(): IterableIterator<[string, PoolEntry]>; } declare const poolManager: PoolManager; /** * 获取共享连接池 */ export declare function getSharedPool(config: PoolConfig): Pool; /** * 释放共享连接池引用 */ export declare function releaseSharedPool(config: PoolConfig): void; /** * 释放共享连接池引用并立即关闭。 */ export declare function releaseSharedPoolImmediately(config: PoolConfig): void; export { poolManager };