@agentuity/postgres 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -1
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/patch.d.ts +23 -14
- package/dist/patch.d.ts.map +1 -1
- package/dist/patch.js +46 -21
- package/dist/patch.js.map +1 -1
- package/dist/pool.d.ts +34 -1
- package/dist/pool.d.ts.map +1 -1
- package/dist/pool.js +89 -69
- package/dist/pool.js.map +1 -1
- package/dist/tls.d.ts +38 -0
- package/dist/tls.d.ts.map +1 -0
- package/dist/tls.js +53 -0
- package/dist/tls.js.map +1 -0
- package/dist/types.d.ts +3 -45
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/client.ts +6 -1
- package/src/index.ts +3 -0
- package/src/patch.ts +47 -22
- package/src/pool.ts +139 -33
- package/src/tls.ts +54 -0
- package/src/types.ts +4 -54
package/dist/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
|
package/dist/tls.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TLS/SSL utilities for PostgreSQL connections.
|
|
3
|
+
*
|
|
4
|
+
* @see https://github.com/agentuity/sdk/issues/921
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Injects `sslmode=require` into a PostgreSQL connection URL when TLS is
|
|
8
|
+
* requested but the URL doesn't already contain an `sslmode` parameter.
|
|
9
|
+
*
|
|
10
|
+
* Bun.SQL requires `sslmode` in the connection URL to trigger PostgreSQL
|
|
11
|
+
* TLS negotiation (SSLRequest). The `tls` option alone configures *how*
|
|
12
|
+
* TLS works but doesn't initiate the protocol handshake.
|
|
13
|
+
*
|
|
14
|
+
* If `sslmode` is already present in the URL (e.g. `sslmode=disable`,
|
|
15
|
+
* `sslmode=prefer`), the existing value is preserved — the user's
|
|
16
|
+
* explicit setting always takes precedence.
|
|
17
|
+
*
|
|
18
|
+
* @param url - PostgreSQL connection URL (may be undefined)
|
|
19
|
+
* @param tls - TLS config value from the caller (truthy = wants TLS)
|
|
20
|
+
* @returns The URL with `sslmode=require` injected, or the original URL
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* // Injects sslmode=require
|
|
25
|
+
* injectSslMode('postgresql://host/db', true);
|
|
26
|
+
* // => 'postgresql://host/db?sslmode=require'
|
|
27
|
+
*
|
|
28
|
+
* // Preserves existing sslmode
|
|
29
|
+
* injectSslMode('postgresql://host/db?sslmode=prefer', true);
|
|
30
|
+
* // => 'postgresql://host/db?sslmode=prefer'
|
|
31
|
+
*
|
|
32
|
+
* // No-op when tls is falsy
|
|
33
|
+
* injectSslMode('postgresql://host/db', false);
|
|
34
|
+
* // => 'postgresql://host/db'
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function injectSslMode(url: string | undefined, tls: unknown): string | undefined;
|
|
38
|
+
//# sourceMappingURL=tls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tls.d.ts","sourceRoot":"","sources":["../src/tls.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAgBvF"}
|
package/dist/tls.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TLS/SSL utilities for PostgreSQL connections.
|
|
3
|
+
*
|
|
4
|
+
* @see https://github.com/agentuity/sdk/issues/921
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Injects `sslmode=require` into a PostgreSQL connection URL when TLS is
|
|
8
|
+
* requested but the URL doesn't already contain an `sslmode` parameter.
|
|
9
|
+
*
|
|
10
|
+
* Bun.SQL requires `sslmode` in the connection URL to trigger PostgreSQL
|
|
11
|
+
* TLS negotiation (SSLRequest). The `tls` option alone configures *how*
|
|
12
|
+
* TLS works but doesn't initiate the protocol handshake.
|
|
13
|
+
*
|
|
14
|
+
* If `sslmode` is already present in the URL (e.g. `sslmode=disable`,
|
|
15
|
+
* `sslmode=prefer`), the existing value is preserved — the user's
|
|
16
|
+
* explicit setting always takes precedence.
|
|
17
|
+
*
|
|
18
|
+
* @param url - PostgreSQL connection URL (may be undefined)
|
|
19
|
+
* @param tls - TLS config value from the caller (truthy = wants TLS)
|
|
20
|
+
* @returns The URL with `sslmode=require` injected, or the original URL
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* // Injects sslmode=require
|
|
25
|
+
* injectSslMode('postgresql://host/db', true);
|
|
26
|
+
* // => 'postgresql://host/db?sslmode=require'
|
|
27
|
+
*
|
|
28
|
+
* // Preserves existing sslmode
|
|
29
|
+
* injectSslMode('postgresql://host/db?sslmode=prefer', true);
|
|
30
|
+
* // => 'postgresql://host/db?sslmode=prefer'
|
|
31
|
+
*
|
|
32
|
+
* // No-op when tls is falsy
|
|
33
|
+
* injectSslMode('postgresql://host/db', false);
|
|
34
|
+
* // => 'postgresql://host/db'
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export function injectSslMode(url, tls) {
|
|
38
|
+
if (!url || tls === undefined || tls === false) {
|
|
39
|
+
return url;
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
const parsed = new URL(url);
|
|
43
|
+
if (!parsed.searchParams.has('sslmode')) {
|
|
44
|
+
parsed.searchParams.set('sslmode', 'require');
|
|
45
|
+
return parsed.toString();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
// Not a parseable URL — return as-is
|
|
50
|
+
}
|
|
51
|
+
return url;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=tls.js.map
|
package/dist/tls.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tls.js","sourceRoot":"","sources":["../src/tls.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,aAAa,CAAC,GAAuB,EAAE,GAAY;IAClE,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAChD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,qCAAqC;IACtC,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type pg from 'pg';
|
|
1
2
|
/**
|
|
2
3
|
* TLS configuration options for PostgreSQL connections.
|
|
3
4
|
*/
|
|
@@ -236,57 +237,14 @@ export interface PoolSSLConfig {
|
|
|
236
237
|
* Configuration options for PostgresPool.
|
|
237
238
|
* Extends standard pg.Pool options with reconnection support.
|
|
238
239
|
*/
|
|
239
|
-
export interface PoolConfig {
|
|
240
|
-
/**
|
|
241
|
-
* PostgreSQL connection URL.
|
|
242
|
-
* If not provided, uses `process.env.DATABASE_URL`.
|
|
243
|
-
*/
|
|
244
|
-
connectionString?: string;
|
|
245
|
-
/**
|
|
246
|
-
* Database hostname.
|
|
247
|
-
*/
|
|
248
|
-
host?: string;
|
|
249
|
-
/**
|
|
250
|
-
* Database port.
|
|
251
|
-
* @default 5432
|
|
252
|
-
*/
|
|
253
|
-
port?: number;
|
|
254
|
-
/**
|
|
255
|
-
* Database username.
|
|
256
|
-
*/
|
|
257
|
-
user?: string;
|
|
258
|
-
/**
|
|
259
|
-
* Database password.
|
|
260
|
-
*/
|
|
261
|
-
password?: string;
|
|
262
|
-
/**
|
|
263
|
-
* Database name.
|
|
264
|
-
*/
|
|
265
|
-
database?: string;
|
|
266
|
-
/**
|
|
267
|
-
* Maximum number of connections in the pool.
|
|
268
|
-
* @default 10
|
|
269
|
-
*/
|
|
270
|
-
max?: number;
|
|
271
|
-
/**
|
|
272
|
-
* Number of milliseconds a client must sit idle before being disconnected.
|
|
273
|
-
* Set to 0 to disable idle timeout.
|
|
274
|
-
* @default 10000
|
|
275
|
-
*/
|
|
276
|
-
idleTimeoutMillis?: number;
|
|
277
|
-
/**
|
|
278
|
-
* Number of milliseconds to wait when connecting a new client before timing out.
|
|
279
|
-
* Set to 0 to disable connection timeout.
|
|
280
|
-
* @default 0
|
|
281
|
-
*/
|
|
282
|
-
connectionTimeoutMillis?: number;
|
|
240
|
+
export interface PoolConfig extends pg.PoolConfig {
|
|
283
241
|
/**
|
|
284
242
|
* SSL configuration.
|
|
285
243
|
* Set to `true` to enable SSL with default settings.
|
|
286
244
|
* Set to an object to configure SSL options.
|
|
287
245
|
* Set to `false` or omit to disable SSL.
|
|
288
246
|
*/
|
|
289
|
-
ssl?:
|
|
247
|
+
ssl?: pg.PoolConfig['ssl'] | PoolSSLConfig;
|
|
290
248
|
/**
|
|
291
249
|
* Reconnection configuration.
|
|
292
250
|
*/
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agentuity/postgres",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"author": "Agentuity employees and contributors",
|
|
6
6
|
"type": "module",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"prepublishOnly": "bun run clean && bun run build"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@agentuity/core": "1.0.
|
|
34
|
+
"@agentuity/core": "1.0.8",
|
|
35
35
|
"pg": "^8.13.1"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@agentuity/runtime": "1.0.
|
|
38
|
+
"@agentuity/runtime": "1.0.8"
|
|
39
39
|
},
|
|
40
40
|
"peerDependenciesMeta": {
|
|
41
41
|
"@agentuity/runtime": {
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
}
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@agentuity/runtime": "1.0.
|
|
47
|
-
"@agentuity/test-utils": "1.0.
|
|
46
|
+
"@agentuity/runtime": "1.0.8",
|
|
47
|
+
"@agentuity/test-utils": "1.0.8",
|
|
48
48
|
"@types/bun": "latest",
|
|
49
49
|
"@types/pg": "^8.11.14",
|
|
50
50
|
"bun-types": "latest",
|
package/src/client.ts
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
import { computeBackoff, sleep, mergeReconnectConfig } from './reconnect';
|
|
12
12
|
import { Transaction, ReservedConnection } from './transaction';
|
|
13
13
|
import { registerClient, unregisterClient } from './registry';
|
|
14
|
+
import { injectSslMode } from './tls';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Bun SQL options for PostgreSQL connections.
|
|
@@ -314,13 +315,17 @@ export class PostgresClient {
|
|
|
314
315
|
return;
|
|
315
316
|
}
|
|
316
317
|
|
|
317
|
-
|
|
318
|
+
let url = this._config.url ?? process.env.DATABASE_URL;
|
|
318
319
|
|
|
319
320
|
// Build Bun.SQL options - use type assertion since Bun types are a union
|
|
320
321
|
const bunOptions: BunPostgresOptions = {
|
|
321
322
|
adapter: 'postgres',
|
|
322
323
|
};
|
|
323
324
|
|
|
325
|
+
// Bun.SQL requires `sslmode` in the URL to trigger PostgreSQL TLS negotiation.
|
|
326
|
+
// See: https://github.com/agentuity/sdk/issues/921
|
|
327
|
+
url = injectSslMode(url, this._config.tls);
|
|
328
|
+
|
|
324
329
|
if (url) {
|
|
325
330
|
bunOptions.url = url;
|
|
326
331
|
}
|
package/src/index.ts
CHANGED
|
@@ -46,6 +46,9 @@ export { Transaction, Savepoint, ReservedConnection } from './transaction';
|
|
|
46
46
|
// Patch function for modifying Bun.SQL globally
|
|
47
47
|
export { patchBunSQL, isPatched, SQL } from './patch';
|
|
48
48
|
|
|
49
|
+
// TLS utilities
|
|
50
|
+
export { injectSslMode } from './tls';
|
|
51
|
+
|
|
49
52
|
// Types
|
|
50
53
|
export type {
|
|
51
54
|
PostgresConfig,
|
package/src/patch.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { SQL } from 'bun';
|
|
1
|
+
import { SQL as BunSQL } from 'bun';
|
|
2
2
|
import type { ReconnectConfig } from './types';
|
|
3
3
|
import { mergeReconnectConfig, DEFAULT_RECONNECT_CONFIG } from './reconnect';
|
|
4
|
+
import { injectSslMode } from './tls';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Whether Bun.SQL has already been patched.
|
|
@@ -19,6 +20,51 @@ let _onReconnect: ((attempt: number) => void) | undefined;
|
|
|
19
20
|
let _onReconnected: (() => void) | undefined;
|
|
20
21
|
let _onReconnectFailed: ((error: Error) => void) | undefined;
|
|
21
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Patched Bun SQL class that normalizes TLS configuration.
|
|
25
|
+
*
|
|
26
|
+
* This is a Proxy around Bun's native `SQL` class that intercepts
|
|
27
|
+
* construction to ensure `sslmode=require` is present in the URL
|
|
28
|
+
* when `tls` config is provided. This works around a Bun issue where
|
|
29
|
+
* the `tls` option alone doesn't trigger PostgreSQL TLS negotiation.
|
|
30
|
+
*
|
|
31
|
+
* All other behavior is identical to `Bun.SQL`.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* import { SQL } from '@agentuity/postgres';
|
|
36
|
+
*
|
|
37
|
+
* // This now works correctly — sslmode=require is injected automatically
|
|
38
|
+
* const sql = new SQL({
|
|
39
|
+
* url: 'postgresql://user:pass@host/db',
|
|
40
|
+
* tls: true,
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
const SQL: typeof BunSQL = new Proxy(BunSQL, {
|
|
45
|
+
construct(target, args, newTarget) {
|
|
46
|
+
if (args.length > 0 && typeof args[0] === 'object' && args[0] !== null) {
|
|
47
|
+
const opts = args[0] as Record<string, unknown>;
|
|
48
|
+
const url = opts.url;
|
|
49
|
+
if (typeof url === 'string') {
|
|
50
|
+
const injected = injectSslMode(url, opts.tls);
|
|
51
|
+
if (injected !== url) {
|
|
52
|
+
args = [{ ...opts, url: injected }];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return Reflect.construct(target, args, newTarget);
|
|
57
|
+
},
|
|
58
|
+
get(target, prop, receiver) {
|
|
59
|
+
// Ensure Symbol.hasInstance resolves to BunSQL's check so
|
|
60
|
+
// `new SQL(...) instanceof SQL` works correctly.
|
|
61
|
+
if (prop === Symbol.hasInstance) {
|
|
62
|
+
return (instance: unknown) => instance instanceof BunSQL;
|
|
63
|
+
}
|
|
64
|
+
return Reflect.get(target, prop, receiver);
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
|
|
22
68
|
/**
|
|
23
69
|
* Patches Bun's native SQL class to add automatic reconnection support.
|
|
24
70
|
*
|
|
@@ -77,14 +123,6 @@ export function patchBunSQL(config?: {
|
|
|
77
123
|
_onReconnected = config?.onreconnected;
|
|
78
124
|
_onReconnectFailed = config?.onreconnectfailed;
|
|
79
125
|
|
|
80
|
-
// Note: True monkey-patching of Bun.SQL internals is not feasible
|
|
81
|
-
// because Bun.SQL is a native class. Instead, users should use
|
|
82
|
-
// PostgresClient from this package which provides the same API
|
|
83
|
-
// with automatic reconnection built in.
|
|
84
|
-
//
|
|
85
|
-
// This function exists to set global reconnection configuration
|
|
86
|
-
// that could be used by future implementations.
|
|
87
|
-
|
|
88
126
|
_patched = true;
|
|
89
127
|
}
|
|
90
128
|
|
|
@@ -107,17 +145,4 @@ export function _resetPatch(): void {
|
|
|
107
145
|
_onReconnectFailed = undefined;
|
|
108
146
|
}
|
|
109
147
|
|
|
110
|
-
/**
|
|
111
|
-
* Re-export of Bun's SQL class.
|
|
112
|
-
*
|
|
113
|
-
* When using the patched version, import SQL from this module instead of 'bun':
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```typescript
|
|
117
|
-
* import { patchBunSQL, SQL } from '@agentuity/postgres';
|
|
118
|
-
*
|
|
119
|
-
* patchBunSQL();
|
|
120
|
-
* const sql = new SQL({ url: process.env.DATABASE_URL });
|
|
121
|
-
* ```
|
|
122
|
-
*/
|
|
123
148
|
export { SQL };
|
package/src/pool.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
1
2
|
import pg from 'pg';
|
|
2
3
|
import type { PoolConfig, PoolStats } from './types';
|
|
3
4
|
import {
|
|
@@ -33,9 +34,10 @@ import { registerClient, unregisterClient, type Registrable } from './registry';
|
|
|
33
34
|
* await pool.close();
|
|
34
35
|
* ```
|
|
35
36
|
*/
|
|
36
|
-
export class PostgresPool implements Registrable {
|
|
37
|
+
export class PostgresPool extends EventEmitter implements Registrable {
|
|
37
38
|
private _pool: pg.Pool | null = null;
|
|
38
39
|
private _config: PoolConfig;
|
|
40
|
+
private _poolConfig: pg.PoolConfig = {};
|
|
39
41
|
private _connected = false;
|
|
40
42
|
private _reconnecting = false;
|
|
41
43
|
private _closed = false;
|
|
@@ -66,6 +68,7 @@ export class PostgresPool implements Registrable {
|
|
|
66
68
|
* If not provided, uses `process.env.DATABASE_URL`.
|
|
67
69
|
*/
|
|
68
70
|
constructor(config?: string | PoolConfig) {
|
|
71
|
+
super();
|
|
69
72
|
if (typeof config === 'string') {
|
|
70
73
|
this._config = { connectionString: config };
|
|
71
74
|
} else {
|
|
@@ -125,6 +128,58 @@ export class PostgresPool implements Registrable {
|
|
|
125
128
|
};
|
|
126
129
|
}
|
|
127
130
|
|
|
131
|
+
/**
|
|
132
|
+
* Total number of clients in the pool.
|
|
133
|
+
*/
|
|
134
|
+
get totalCount(): number {
|
|
135
|
+
return this._pool?.totalCount ?? 0;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Number of idle clients in the pool.
|
|
140
|
+
*/
|
|
141
|
+
get idleCount(): number {
|
|
142
|
+
return this._pool?.idleCount ?? 0;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Number of clients waiting to be acquired.
|
|
147
|
+
*/
|
|
148
|
+
get waitingCount(): number {
|
|
149
|
+
return this._pool?.waitingCount ?? 0;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Number of expired clients in the pool.
|
|
154
|
+
*/
|
|
155
|
+
get expiredCount(): number {
|
|
156
|
+
const pool = this._pool as (pg.Pool & { expiredCount?: number }) | null;
|
|
157
|
+
return pool?.expiredCount ?? 0;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Whether the pool is ending (compat with pg.Pool).
|
|
162
|
+
*/
|
|
163
|
+
get ending(): boolean {
|
|
164
|
+
const pool = this._pool as (pg.Pool & { ending?: boolean }) | null;
|
|
165
|
+
return pool?.ending ?? this._shuttingDown;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Whether the pool has ended (compat with pg.Pool).
|
|
170
|
+
*/
|
|
171
|
+
get ended(): boolean {
|
|
172
|
+
const pool = this._pool as (pg.Pool & { ended?: boolean }) | null;
|
|
173
|
+
return pool?.ended ?? this._closed;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Pool configuration options.
|
|
178
|
+
*/
|
|
179
|
+
get options(): pg.PoolConfig {
|
|
180
|
+
return this._poolConfig;
|
|
181
|
+
}
|
|
182
|
+
|
|
128
183
|
/**
|
|
129
184
|
* Execute a query on the pool.
|
|
130
185
|
* If reconnection is in progress, waits for it to complete before executing.
|
|
@@ -140,13 +195,40 @@ export class PostgresPool implements Registrable {
|
|
|
140
195
|
* console.log(result.rows);
|
|
141
196
|
* ```
|
|
142
197
|
*/
|
|
143
|
-
|
|
198
|
+
query<T extends pg.QueryResultRow = pg.QueryResultRow>(
|
|
144
199
|
text: string | pg.QueryConfig<unknown[]>,
|
|
145
200
|
values?: unknown[]
|
|
146
|
-
): Promise<pg.QueryResult<T
|
|
201
|
+
): Promise<pg.QueryResult<T>>;
|
|
202
|
+
query<T extends pg.QueryResultRow = pg.QueryResultRow>(
|
|
203
|
+
text: string | pg.QueryConfig<unknown[]>,
|
|
204
|
+
callback: (err: Error | null, result?: pg.QueryResult<T>) => void
|
|
205
|
+
): void;
|
|
206
|
+
query<T extends pg.QueryResultRow = pg.QueryResultRow>(
|
|
207
|
+
text: string,
|
|
208
|
+
values: unknown[],
|
|
209
|
+
callback: (err: Error | null, result?: pg.QueryResult<T>) => void
|
|
210
|
+
): void;
|
|
211
|
+
query<T extends pg.QueryResultRow = pg.QueryResultRow>(
|
|
212
|
+
text: string | pg.QueryConfig<unknown[]>,
|
|
213
|
+
values?: unknown[] | ((err: Error | null, result?: pg.QueryResult<T>) => void),
|
|
214
|
+
callback?: (err: Error | null, result?: pg.QueryResult<T>) => void
|
|
215
|
+
): Promise<pg.QueryResult<T>> | void {
|
|
216
|
+
const handler = typeof values === 'function' ? values : callback;
|
|
217
|
+
const queryValues = typeof values === 'function' ? undefined : values;
|
|
218
|
+
|
|
219
|
+
if (handler) {
|
|
220
|
+
void this._executeWithRetry(async () => {
|
|
221
|
+
const pool = await this._ensureConnectedAsync();
|
|
222
|
+
return pool.query<T>(text, queryValues);
|
|
223
|
+
})
|
|
224
|
+
.then((result) => handler(null, result))
|
|
225
|
+
.catch((error) => handler(error instanceof Error ? error : new Error(String(error))));
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
|
|
147
229
|
return this._executeWithRetry(async () => {
|
|
148
230
|
const pool = await this._ensureConnectedAsync();
|
|
149
|
-
return pool.query<T>(text,
|
|
231
|
+
return pool.query<T>(text, queryValues);
|
|
150
232
|
});
|
|
151
233
|
}
|
|
152
234
|
|
|
@@ -171,7 +253,27 @@ export class PostgresPool implements Registrable {
|
|
|
171
253
|
* }
|
|
172
254
|
* ```
|
|
173
255
|
*/
|
|
174
|
-
|
|
256
|
+
connect(): Promise<pg.PoolClient>;
|
|
257
|
+
connect(
|
|
258
|
+
callback: (err: Error | null, client?: pg.PoolClient, release?: (err?: Error) => void) => void
|
|
259
|
+
): void;
|
|
260
|
+
connect(
|
|
261
|
+
callback?: (
|
|
262
|
+
err: Error | null,
|
|
263
|
+
client?: pg.PoolClient,
|
|
264
|
+
release?: (err?: Error) => void
|
|
265
|
+
) => void
|
|
266
|
+
): Promise<pg.PoolClient> | void {
|
|
267
|
+
if (callback) {
|
|
268
|
+
void this._executeWithRetry(async () => {
|
|
269
|
+
const pool = await this._ensureConnectedAsync();
|
|
270
|
+
return pool.connect();
|
|
271
|
+
})
|
|
272
|
+
.then((client) => callback(null, client, client.release.bind(client)))
|
|
273
|
+
.catch((error) => callback(error instanceof Error ? error : new Error(String(error))));
|
|
274
|
+
return;
|
|
275
|
+
}
|
|
276
|
+
|
|
175
277
|
return this._executeWithRetry(async () => {
|
|
176
278
|
const pool = await this._ensureConnectedAsync();
|
|
177
279
|
return pool.connect();
|
|
@@ -332,39 +434,43 @@ export class PostgresPool implements Registrable {
|
|
|
332
434
|
return;
|
|
333
435
|
}
|
|
334
436
|
|
|
335
|
-
const
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
if (
|
|
347
|
-
|
|
348
|
-
if (this._config.max) poolConfig.max = this._config.max;
|
|
349
|
-
if (this._config.idleTimeoutMillis !== undefined)
|
|
350
|
-
poolConfig.idleTimeoutMillis = this._config.idleTimeoutMillis;
|
|
351
|
-
if (this._config.connectionTimeoutMillis !== undefined)
|
|
352
|
-
poolConfig.connectionTimeoutMillis = this._config.connectionTimeoutMillis;
|
|
353
|
-
|
|
354
|
-
// Handle SSL configuration
|
|
355
|
-
if (this._config.ssl !== undefined) {
|
|
356
|
-
if (typeof this._config.ssl === 'boolean') {
|
|
357
|
-
poolConfig.ssl = this._config.ssl;
|
|
358
|
-
} else {
|
|
359
|
-
poolConfig.ssl = this._config.ssl;
|
|
360
|
-
}
|
|
437
|
+
const {
|
|
438
|
+
reconnect: _reconnect,
|
|
439
|
+
preconnect: _preconnect,
|
|
440
|
+
onclose: _onclose,
|
|
441
|
+
onreconnect: _onreconnect,
|
|
442
|
+
onreconnected: _onreconnected,
|
|
443
|
+
onreconnectfailed: _onreconnectfailed,
|
|
444
|
+
...pgConfig
|
|
445
|
+
} = this._config;
|
|
446
|
+
|
|
447
|
+
const poolConfig: pg.PoolConfig = { ...pgConfig };
|
|
448
|
+
if (!poolConfig.connectionString) {
|
|
449
|
+
poolConfig.connectionString = process.env.DATABASE_URL;
|
|
361
450
|
}
|
|
362
451
|
|
|
452
|
+
this._poolConfig = poolConfig;
|
|
363
453
|
this._pool = new pg.Pool(poolConfig);
|
|
364
454
|
|
|
365
|
-
|
|
366
|
-
|
|
455
|
+
this._pool.on('connect', (client: pg.PoolClient) => {
|
|
456
|
+
this.emit('connect', client);
|
|
457
|
+
});
|
|
458
|
+
this._pool.on('acquire', (client: pg.PoolClient) => {
|
|
459
|
+
this.emit('acquire', client);
|
|
460
|
+
});
|
|
461
|
+
(
|
|
462
|
+
this._pool as pg.Pool & {
|
|
463
|
+
on(event: 'release', listener: (client: pg.PoolClient) => void): pg.Pool;
|
|
464
|
+
}
|
|
465
|
+
).on('release', (client: pg.PoolClient) => {
|
|
466
|
+
this.emit('release', client);
|
|
467
|
+
});
|
|
468
|
+
this._pool.on('remove', (client: pg.PoolClient) => {
|
|
469
|
+
this.emit('remove', client);
|
|
470
|
+
});
|
|
471
|
+
this._pool.on('error', (err: Error, client?: pg.PoolClient) => {
|
|
367
472
|
this._handlePoolError(err);
|
|
473
|
+
this.emit('error', err, client);
|
|
368
474
|
});
|
|
369
475
|
}
|
|
370
476
|
|