@powersync/service-module-postgres 0.19.3 → 0.19.4

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.
Files changed (72) hide show
  1. package/dist/api/PostgresRouteAPIAdapter.d.ts +1 -1
  2. package/dist/api/PostgresRouteAPIAdapter.js +63 -72
  3. package/dist/api/PostgresRouteAPIAdapter.js.map +1 -1
  4. package/dist/module/PostgresModule.js.map +1 -1
  5. package/dist/replication/MissingReplicationSlotError.d.ts +41 -0
  6. package/dist/replication/MissingReplicationSlotError.js +33 -0
  7. package/dist/replication/MissingReplicationSlotError.js.map +1 -0
  8. package/dist/replication/PostgresErrorRateLimiter.js +1 -1
  9. package/dist/replication/PostgresErrorRateLimiter.js.map +1 -1
  10. package/dist/replication/SnapshotQuery.js +2 -2
  11. package/dist/replication/SnapshotQuery.js.map +1 -1
  12. package/dist/replication/WalStream.d.ts +35 -3
  13. package/dist/replication/WalStream.js +135 -9
  14. package/dist/replication/WalStream.js.map +1 -1
  15. package/dist/replication/WalStreamReplicationJob.js +6 -3
  16. package/dist/replication/WalStreamReplicationJob.js.map +1 -1
  17. package/dist/replication/replication-index.d.ts +3 -1
  18. package/dist/replication/replication-index.js +3 -1
  19. package/dist/replication/replication-index.js.map +1 -1
  20. package/dist/replication/replication-utils.d.ts +3 -11
  21. package/dist/replication/replication-utils.js +101 -164
  22. package/dist/replication/replication-utils.js.map +1 -1
  23. package/dist/replication/wal-budget-utils.d.ts +23 -0
  24. package/dist/replication/wal-budget-utils.js +57 -0
  25. package/dist/replication/wal-budget-utils.js.map +1 -0
  26. package/dist/types/registry.js +1 -1
  27. package/dist/types/registry.js.map +1 -1
  28. package/package.json +15 -11
  29. package/sql/check-source-configuration.plpgsql +13 -0
  30. package/sql/debug-tables-info-batched.plpgsql +230 -0
  31. package/CHANGELOG.md +0 -858
  32. package/src/api/PostgresRouteAPIAdapter.ts +0 -356
  33. package/src/index.ts +0 -1
  34. package/src/module/PostgresModule.ts +0 -122
  35. package/src/replication/ConnectionManagerFactory.ts +0 -33
  36. package/src/replication/PgManager.ts +0 -122
  37. package/src/replication/PgRelation.ts +0 -41
  38. package/src/replication/PostgresErrorRateLimiter.ts +0 -48
  39. package/src/replication/SnapshotQuery.ts +0 -213
  40. package/src/replication/WalStream.ts +0 -1137
  41. package/src/replication/WalStreamReplicationJob.ts +0 -138
  42. package/src/replication/WalStreamReplicator.ts +0 -53
  43. package/src/replication/replication-index.ts +0 -5
  44. package/src/replication/replication-utils.ts +0 -398
  45. package/src/types/registry.ts +0 -275
  46. package/src/types/resolver.ts +0 -227
  47. package/src/types/types.ts +0 -44
  48. package/src/utils/application-name.ts +0 -8
  49. package/src/utils/migration_lib.ts +0 -80
  50. package/src/utils/populate_test_data.ts +0 -37
  51. package/src/utils/populate_test_data_worker.ts +0 -53
  52. package/src/utils/postgres_version.ts +0 -8
  53. package/test/src/checkpoints.test.ts +0 -86
  54. package/test/src/chunked_snapshots.test.ts +0 -161
  55. package/test/src/env.ts +0 -11
  56. package/test/src/large_batch.test.ts +0 -241
  57. package/test/src/pg_test.test.ts +0 -729
  58. package/test/src/resuming_snapshots.test.ts +0 -160
  59. package/test/src/route_api_adapter.test.ts +0 -62
  60. package/test/src/schema_changes.test.ts +0 -655
  61. package/test/src/setup.ts +0 -12
  62. package/test/src/slow_tests.test.ts +0 -519
  63. package/test/src/storage_combination.test.ts +0 -35
  64. package/test/src/types/registry.test.ts +0 -149
  65. package/test/src/util.ts +0 -151
  66. package/test/src/validation.test.ts +0 -63
  67. package/test/src/wal_stream.test.ts +0 -607
  68. package/test/src/wal_stream_utils.ts +0 -284
  69. package/test/tsconfig.json +0 -27
  70. package/tsconfig.json +0 -34
  71. package/tsconfig.tsbuildinfo +0 -1
  72. package/vitest.config.ts +0 -3
@@ -4,9 +4,11 @@ import { getUuidReplicaIdentityBson, RelationCache, ReplicationLagTracker, stora
4
4
  import * as pgwire from '@powersync/service-jpgwire';
5
5
  import { applyValueContext, CompatibilityContext, toSyncRulesValue } from '@powersync/service-sync-rules';
6
6
  import { ReplicationMetric } from '@powersync/service-types';
7
+ import { MissingReplicationSlotError } from './MissingReplicationSlotError.js';
7
8
  import { getPgOutputRelation, getRelId, referencedColumnTypeIds } from './PgRelation.js';
8
9
  import { checkSourceConfiguration, checkTableRls, getReplicationIdentityColumns } from './replication-utils.js';
9
10
  import { ChunkedSnapshotQuery, IdSnapshotQuery, SimpleSnapshotQuery } from './SnapshotQuery.js';
11
+ import { computeWalBudgetReport, formatBytes, formatWalBudgetLine } from './wal-budget-utils.js';
10
12
  export const ZERO_LSN = '00000000/00000000';
11
13
  export const PUBLICATION_NAME = 'powersync';
12
14
  export const POSTGRES_DEFAULT_SCHEMA = 'public';
@@ -30,12 +32,6 @@ export const isKeepAliveMessage = (msg) => {
30
32
  export const sendKeepAlive = async (db) => {
31
33
  await lib_postgres.retriedQuery(db, KEEPALIVE_STATEMENT);
32
34
  };
33
- export class MissingReplicationSlotError extends Error {
34
- constructor(message, cause) {
35
- super(message);
36
- this.cause = cause;
37
- }
38
- }
39
35
  export class WalStream {
40
36
  sync_rules;
41
37
  group_id;
@@ -54,8 +50,19 @@ export class WalStream {
54
50
  });
55
51
  startedStreaming = false;
56
52
  snapshotChunkLength;
53
+ onSnapshotChunkFlushed;
57
54
  replicationLag = new ReplicationLagTracker();
58
55
  initialSnapshotPromise = null;
56
+ slotHealthCheckIntervalMs;
57
+ /** Cached max_slot_wal_keep_size in bytes. null = not yet queried. */
58
+ maxSlotWalKeepSize = null;
59
+ /** Whether max_slot_wal_keep_size has been queried (distinguishes "not
60
+ * queried" from "queried and found unlimited"). */
61
+ maxSlotWalKeepSizeQueried = false;
62
+ /** Previous safe_wal_size sample for rate calculation. */
63
+ prevWalBudgetSample = null;
64
+ /** Timestamp of last slot health check. */
65
+ lastSlotHealthCheckTime = 0;
59
66
  constructor(options) {
60
67
  this.logger = options.logger ?? defaultLogger;
61
68
  this.storage = options.storage;
@@ -65,6 +72,8 @@ export class WalStream {
65
72
  this.slot_name = options.storage.slot_name;
66
73
  this.connections = options.connections;
67
74
  this.snapshotChunkLength = options.snapshotChunkLength ?? 10_000;
75
+ this.onSnapshotChunkFlushed = options.onSnapshotChunkFlushed;
76
+ this.slotHealthCheckIntervalMs = options.slotHealthCheckIntervalMs ?? 120_000;
68
77
  this.abort_signal = options.abort_signal;
69
78
  this.abort_signal.addEventListener('abort', () => {
70
79
  if (this.startedStreaming) {
@@ -214,7 +223,12 @@ export class WalStream {
214
223
  const lost = slot.wal_status == 'lost';
215
224
  if (lost) {
216
225
  // Case 1 / 4
217
- throw new MissingReplicationSlotError(`Replication slot ${slotName} is not valid anymore. invalidation_reason: ${slot.invalidation_reason ?? 'unknown'}`);
226
+ const fixGuidance = slot.invalidation_reason === 'idle_timeout'
227
+ ? `Increase idle_replication_slot_timeout on the source database.`
228
+ : `Increase max_slot_wal_keep_size on the source database.`;
229
+ throw new MissingReplicationSlotError(`[PSYNC_S1146] Replication slot ${slotName} was invalidated ` +
230
+ `(reason: ${slot.invalidation_reason ?? 'unknown'}). ` +
231
+ `${fixGuidance}`, { walStatus: 'lost', phase: 'streaming', invalidationReason: slot.invalidation_reason ?? undefined });
218
232
  }
219
233
  // Case 3 / 6
220
234
  return {
@@ -226,13 +240,117 @@ export class WalStream {
226
240
  if (snapshotDone) {
227
241
  // Case 5
228
242
  // This will create a new slot, while keeping the current sync rules active
229
- throw new MissingReplicationSlotError(`Replication slot ${slotName} is missing`);
243
+ throw new MissingReplicationSlotError(`Replication slot ${slotName} is missing`, {
244
+ walStatus: 'missing',
245
+ phase: 'streaming'
246
+ });
230
247
  }
231
248
  // Case 2
232
249
  // This will clear data (if any) and re-create the same slot
233
250
  return { needsInitialSync: true, needsNewSlot: true };
234
251
  }
235
252
  }
253
+ async queryMaxSlotWalKeepSize() {
254
+ if (this.maxSlotWalKeepSizeQueried) {
255
+ return this.maxSlotWalKeepSize;
256
+ }
257
+ this.maxSlotWalKeepSizeQueried = true;
258
+ try {
259
+ const rows = pgwire.pgwireRows(await this.connections.pool.query({
260
+ statement: `SELECT setting, unit FROM pg_settings WHERE name = 'max_slot_wal_keep_size'`
261
+ }));
262
+ if (rows.length === 0) {
263
+ // PG < 13 or setting doesn't exist
264
+ return null;
265
+ }
266
+ const setting = Number(rows[0].setting);
267
+ if (setting < 0) {
268
+ // -1 = unlimited
269
+ this.maxSlotWalKeepSize = null;
270
+ return null;
271
+ }
272
+ // setting is in MB, convert to bytes
273
+ const unit = rows[0].unit;
274
+ const multiplier = unit === 'kB' ? 1024 : unit === '8kB' ? 8192 : 1024 * 1024; // default MB
275
+ this.maxSlotWalKeepSize = setting * multiplier;
276
+ return this.maxSlotWalKeepSize;
277
+ }
278
+ catch (e) {
279
+ // Non-fatal — budget reporting is best-effort
280
+ this.logger.warn(`Could not query max_slot_wal_keep_size`, e);
281
+ return null;
282
+ }
283
+ }
284
+ async logWalBudget(slot, now) {
285
+ const maxSize = await this.queryMaxSlotWalKeepSize();
286
+ // No limit configured
287
+ if (maxSize == null) {
288
+ this.logger.info(`WAL budget: no limit configured (max_slot_wal_keep_size is unlimited).`);
289
+ return;
290
+ }
291
+ const safeWalSize = slot.safe_wal_size != null ? Number(slot.safe_wal_size) : null;
292
+ if (safeWalSize == null) {
293
+ // safe_wal_size is null on PG < 13, or when no limit is set
294
+ return;
295
+ }
296
+ const report = computeWalBudgetReport({
297
+ safeWalSize,
298
+ maxSize,
299
+ walStatus: slot.wal_status ?? 'unknown',
300
+ prevSample: this.prevWalBudgetSample,
301
+ now
302
+ });
303
+ // Update sample for next rate calculation
304
+ this.prevWalBudgetSample = { safeWalSize, timestamp: now };
305
+ const budgetLine = formatWalBudgetLine(report);
306
+ if (report.isWarning) {
307
+ this.logger.warn(budgetLine);
308
+ this.logger.warn(`Replication slot may be invalidated before snapshot completes. ` +
309
+ `Increase max_slot_wal_keep_size on the source database.`);
310
+ }
311
+ else {
312
+ this.logger.info(budgetLine);
313
+ }
314
+ }
315
+ /**
316
+ * Check if the replication slot is still valid. Called after each chunk
317
+ * flush during snapshot to detect slot invalidation early.
318
+ *
319
+ * The query hits pg_replication_slots (shared memory, not a table scan)
320
+ * and costs ~1-2ms per round-trip — negligible next to the per-chunk
321
+ * storage flush.
322
+ */
323
+ async checkSlotHealth() {
324
+ // Ensure maxSlotWalKeepSize is populated for diagnostic context in error messages
325
+ await this.queryMaxSlotWalKeepSize();
326
+ const rows = pgwire.pgwireRows(await this.connections.pool.query({
327
+ statement: 'SELECT * FROM pg_replication_slots WHERE slot_name = $1',
328
+ params: [{ type: 'varchar', value: this.slot_name }]
329
+ }));
330
+ if (rows.length === 0) {
331
+ // Slot row gone from pg_replication_slots — dropped externally.
332
+ // Possible causes: pg_drop_replication_slot() call (operator, management tool, cleanup cron)
333
+ throw new MissingReplicationSlotError(`[PSYNC_S1146] Replication slot ${this.slot_name} disappeared during snapshot.`, { walStatus: 'missing', phase: 'snapshot' });
334
+ }
335
+ const walStatus = rows[0].wal_status;
336
+ if (walStatus === 'lost') {
337
+ // Postgres marked the slot invalid. Possible invalidation_reason values (PG 14+):
338
+ // - wal_removed: WAL growth exceeded max_slot_wal_keep_size (the primary case)
339
+ // - wal_level_insufficient: wal_level changed away from 'logical'
340
+ // - idle_timeout (PG 18+): idle_replication_slot_timeout expired
341
+ // - rows_removed: catalog rows needed by the slot were vacuumed (safe to retry — fresh slot won't need them)
342
+ throw new MissingReplicationSlotError(`[PSYNC_S1146] Replication slot ${this.slot_name} was invalidated during snapshot` +
343
+ `${this.formatWalBudgetContext()}. ` +
344
+ `Increase max_slot_wal_keep_size on the source database.`, { walStatus: 'lost', phase: 'snapshot', invalidationReason: rows[0].invalidation_reason ?? undefined });
345
+ }
346
+ await this.logWalBudget(rows[0], performance.now());
347
+ }
348
+ formatWalBudgetContext() {
349
+ if (this.maxSlotWalKeepSize == null) {
350
+ return '';
351
+ }
352
+ return ` (limit: ${formatBytes(this.maxSlotWalKeepSize)})`;
353
+ }
236
354
  async estimatedCountNumber(db, table) {
237
355
  const results = await db.query({
238
356
  statement: `SELECT reltuples::bigint AS estimate
@@ -445,6 +563,14 @@ WHERE oid = $1::regclass`,
445
563
  }
446
564
  // Important: flush before marking progress
447
565
  await batch.flush();
566
+ if (this.onSnapshotChunkFlushed) {
567
+ await this.onSnapshotChunkFlushed();
568
+ }
569
+ const now = performance.now();
570
+ if (now - this.lastSlotHealthCheckTime >= this.slotHealthCheckIntervalMs) {
571
+ this.lastSlotHealthCheckTime = now;
572
+ await this.checkSlotHealth();
573
+ }
448
574
  if (limited == null) {
449
575
  let lastKey;
450
576
  if (q instanceof ChunkedSnapshotQuery) {
@@ -669,7 +795,7 @@ WHERE oid = $1::regclass`,
669
795
  }
670
796
  catch (e) {
671
797
  if (isReplicationSlotInvalidError(e)) {
672
- throw new MissingReplicationSlotError(e.message, e);
798
+ throw new MissingReplicationSlotError(e.message, { walStatus: 'lost', phase: 'streaming', cause: e });
673
799
  }
674
800
  throw e;
675
801
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WalStream.js","sourceRoot":"","sources":["../../src/replication/WalStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalStream.js","sourceRoot":"","sources":["../../src/replication/WalStream.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { container, logger } from '@powersync/lib-services-framework';
2
- import { MissingReplicationSlotError, sendKeepAlive, WalStream } from './WalStream.js';
2
+ import { MissingReplicationSlotError, shouldRetryReplication } from './MissingReplicationSlotError.js';
3
+ import { sendKeepAlive, WalStream } from './WalStream.js';
3
4
  import { replication } from '@powersync/service-core';
4
5
  import { getApplicationName } from '../utils/application-name.js';
5
6
  export class WalStreamReplicationJob extends replication.AbstractReplicationJob {
@@ -78,8 +79,10 @@ export class WalStreamReplicationJob extends replication.AbstractReplicationJob
78
79
  this.rateLimiter.reportError(e);
79
80
  }
80
81
  if (e instanceof MissingReplicationSlotError) {
81
- // This stops replication on this slot and restarts with a new slot
82
- await this.options.storage.factory.restartReplication(this.storage.group_id);
82
+ if (shouldRetryReplication(e)) {
83
+ // This stops replication on this slot and restarts with a new slot
84
+ await this.options.storage.factory.restartReplication(this.storage.group_id);
85
+ }
83
86
  }
84
87
  // No need to rethrow - the error is already logged, and retry behavior is the same on error
85
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WalStreamReplicationJob.js","sourceRoot":"","sources":["../../src/replication/WalStreamReplicationJob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WalStreamReplicationJob.js","sourceRoot":"","sources":["../../src/replication/WalStreamReplicationJob.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
+ export * from './MissingReplicationSlotError.js';
1
2
  export * from './PgRelation.js';
2
3
  export * from './replication-utils.js';
4
+ export * from './wal-budget-utils.js';
3
5
  export * from './WalStream.js';
4
- export * from './WalStreamReplicator.js';
5
6
  export * from './WalStreamReplicationJob.js';
7
+ export * from './WalStreamReplicator.js';
@@ -1,6 +1,8 @@
1
+ export * from './MissingReplicationSlotError.js';
1
2
  export * from './PgRelation.js';
2
3
  export * from './replication-utils.js';
4
+ export * from './wal-budget-utils.js';
3
5
  export * from './WalStream.js';
4
- export * from './WalStreamReplicator.js';
5
6
  export * from './WalStreamReplicationJob.js';
7
+ export * from './WalStreamReplicator.js';
6
8
  //# sourceMappingURL=replication-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"replication-index.js","sourceRoot":"","sources":["../../src/replication/replication-index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"replication-index.js","sourceRoot":"","sources":["../../src/replication/replication-index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import * as pgwire from '@powersync/service-jpgwire';
2
2
  import { PatternResult, storage } from '@powersync/service-core';
3
3
  import * as sync_rules from '@powersync/service-sync-rules';
4
- import * as service_types from '@powersync/service-types';
5
4
  import { ReplicationIdentity } from './PgRelation.js';
6
5
  export interface ReplicaIdentityResult {
7
6
  replicationColumns: storage.ColumnDescriptor[];
@@ -22,15 +21,8 @@ export interface GetDebugTablesInfoOptions {
22
21
  tablePatterns: sync_rules.TablePattern[];
23
22
  syncRules: sync_rules.SyncConfig;
24
23
  }
24
+ /**
25
+ * Note: This must use a dedicated connection, not a connection pool.
26
+ */
25
27
  export declare function getDebugTablesInfo(options: GetDebugTablesInfoOptions): Promise<PatternResult[]>;
26
- export interface GetDebugTableInfoOptions {
27
- db: pgwire.PgClient;
28
- name: string;
29
- publicationName: string;
30
- connectionTag: string;
31
- tablePattern: sync_rules.TablePattern;
32
- relationId: number | null;
33
- syncRules: sync_rules.SyncConfig;
34
- }
35
- export declare function getDebugTableInfo(options: GetDebugTableInfoOptions): Promise<service_types.TableInfo>;
36
28
  export declare function cleanUpReplicationSlot(slotName: string, db: pgwire.PgClient): Promise<void>;