@powersync/service-module-postgres 0.23.1 → 0.23.2
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/module/PostgresModule.d.ts +0 -1
- package/dist/module/PostgresModule.js +0 -13
- package/dist/module/PostgresModule.js.map +1 -1
- package/dist/replication/WalStreamReplicator.d.ts +1 -0
- package/dist/replication/WalStreamReplicator.js +14 -0
- package/dist/replication/WalStreamReplicator.js.map +1 -1
- package/package.json +11 -11
|
@@ -4,7 +4,6 @@ import * as types from '../types/types.js';
|
|
|
4
4
|
import { PostgresConnectionConfig } from '../types/types.js';
|
|
5
5
|
export declare class PostgresModule extends replication.ReplicationModule<types.PostgresConnectionConfig> {
|
|
6
6
|
constructor();
|
|
7
|
-
onInitialized(context: system.ServiceContextContainer): Promise<void>;
|
|
8
7
|
protected createRouteAPIAdapter(): api.RouteAPI;
|
|
9
8
|
protected createReplicator(context: system.ServiceContext): replication.AbstractReplicator;
|
|
10
9
|
/**
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { baseUri } from '@powersync/lib-service-postgres';
|
|
2
2
|
import { ConfigurationFileSyncRulesProvider, replication } from '@powersync/service-core';
|
|
3
|
-
import * as jpgwire from '@powersync/service-jpgwire';
|
|
4
|
-
import { ReplicationMetric } from '@powersync/service-types';
|
|
5
3
|
import { PostgresRouteAPIAdapter } from '../api/PostgresRouteAPIAdapter.js';
|
|
6
4
|
import { ConnectionManagerFactory } from '../replication/ConnectionManagerFactory.js';
|
|
7
5
|
import { PgManager } from '../replication/PgManager.js';
|
|
@@ -19,17 +17,6 @@ export class PostgresModule extends replication.ReplicationModule {
|
|
|
19
17
|
configSchema: types.PostgresConnectionConfig
|
|
20
18
|
});
|
|
21
19
|
}
|
|
22
|
-
async onInitialized(context) {
|
|
23
|
-
// Record replicated bytes using global jpgwire metrics. Only registered if this module is replicating
|
|
24
|
-
if (context.replicationEngine) {
|
|
25
|
-
jpgwire.setMetricsRecorder({
|
|
26
|
-
addBytesRead(bytes) {
|
|
27
|
-
context.metricsEngine.getCounter(ReplicationMetric.DATA_REPLICATED_BYTES).add(bytes);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
this.logger.info('Successfully set up connection metrics recorder for PostgresModule.');
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
20
|
createRouteAPIAdapter() {
|
|
34
21
|
return PostgresRouteAPIAdapter.withConfig(this.resolveConfig(this.decodedConfig));
|
|
35
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresModule.js","sourceRoot":"","sources":["../../src/module/PostgresModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA0C,MAAM,iCAAiC,CAAC;AAClG,OAAO,EAEL,kCAAkC,EAGlC,WAAW,EAEZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"PostgresModule.js","sourceRoot":"","sources":["../../src/module/PostgresModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export interface WalStreamReplicatorOptions extends replication.AbstractReplicat
|
|
|
7
7
|
export declare class WalStreamReplicator extends replication.AbstractReplicator<WalStreamReplicationJob> {
|
|
8
8
|
private readonly connectionFactory;
|
|
9
9
|
constructor(options: WalStreamReplicatorOptions);
|
|
10
|
+
start(): Promise<void>;
|
|
10
11
|
createJob(options: replication.CreateJobOptions): WalStreamReplicationJob;
|
|
11
12
|
cleanUp(syncRulesStorage: storage.SyncRulesBucketStorage): Promise<void>;
|
|
12
13
|
stop(): Promise<void>;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { replication } from '@powersync/service-core';
|
|
2
|
+
import * as jpgwire from '@powersync/service-jpgwire';
|
|
3
|
+
import { ReplicationMetric } from '@powersync/service-types';
|
|
2
4
|
import { PostgresModule } from '../module/PostgresModule.js';
|
|
3
5
|
import { getApplicationName } from '../utils/application-name.js';
|
|
4
6
|
import { cleanUpReplicationSlot } from './replication-utils.js';
|
|
@@ -9,6 +11,18 @@ export class WalStreamReplicator extends replication.AbstractReplicator {
|
|
|
9
11
|
super(options);
|
|
10
12
|
this.connectionFactory = options.connectionFactory;
|
|
11
13
|
}
|
|
14
|
+
async start() {
|
|
15
|
+
// Record replicated bytes using global jpgwire metrics. Only registered if this module is replicating.
|
|
16
|
+
// Connection checks do not start replication and do not register replication metrics.
|
|
17
|
+
const bytesReplicated = this.metrics.getCounter(ReplicationMetric.DATA_REPLICATED_BYTES);
|
|
18
|
+
jpgwire.setMetricsRecorder({
|
|
19
|
+
addBytesRead(bytes) {
|
|
20
|
+
bytesReplicated.add(bytes);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
this.logger.info('Successfully set up connection metrics recorder for Postgres replication.');
|
|
24
|
+
await super.start();
|
|
25
|
+
}
|
|
12
26
|
createJob(options) {
|
|
13
27
|
return new WalStreamReplicationJob({
|
|
14
28
|
id: this.createJobId(options.storage.replicationStreamId),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalStreamReplicator.js","sourceRoot":"","sources":["../../src/replication/WalStreamReplicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAW,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAMvE,MAAM,OAAO,mBAAoB,SAAQ,WAAW,CAAC,kBAA2C;IAC7E,iBAAiB,CAA2B;IAE7D,YAAY,OAAmC;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACrD,CAAC;IAED,SAAS,CAAC,OAAqC;QAC7C,OAAO,IAAI,uBAAuB,CAAC;YACjC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACzD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,gBAAgD;QAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACtD,eAAe,EAAE,kBAAkB,EAAE;YACrC,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACH,IAAI,CAAC;YACH,iFAAiF;YACjF,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/F,CAAC;gBAAS,CAAC;YACT,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,MAAM,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACxF,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"WalStreamReplicator.js","sourceRoot":"","sources":["../../src/replication/WalStreamReplicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAW,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAMvE,MAAM,OAAO,mBAAoB,SAAQ,WAAW,CAAC,kBAA2C;IAC7E,iBAAiB,CAA2B;IAE7D,YAAY,OAAmC;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACrD,CAAC;IAEe,KAAK,CAAC,KAAK;QACzB,uGAAuG;QACvG,sFAAsF;QACtF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QACzF,OAAO,CAAC,kBAAkB,CAAC;YACzB,YAAY,CAAC,KAAK;gBAChB,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAE9F,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,OAAqC;QAC7C,OAAO,IAAI,uBAAuB,CAAC;YACjC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACzD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,gBAAgD;QAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACtD,eAAe,EAAE,kBAAkB,EAAE;YACrC,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACH,IAAI,CAAC;YACH,iFAAiF;YACjF,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/F,CAAC;gBAAS,CAAC;YACT,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,MAAM,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACxF,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "0.23.
|
|
7
|
+
"version": "0.23.2",
|
|
8
8
|
"license": "FSL-1.1-ALv2",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"files": [
|
|
@@ -19,20 +19,20 @@
|
|
|
19
19
|
"semver": "^7.5.4",
|
|
20
20
|
"ts-codec": "^1.3.0",
|
|
21
21
|
"uuid": "^14.0.0",
|
|
22
|
-
"@powersync/lib-service-postgres": "0.5.
|
|
23
|
-
"@powersync/lib-services-framework": "0.10.
|
|
24
|
-
"@powersync/service-core": "1.
|
|
25
|
-
"@powersync/service-jpgwire": "0.21.
|
|
22
|
+
"@powersync/lib-service-postgres": "0.5.6",
|
|
23
|
+
"@powersync/lib-services-framework": "0.10.3",
|
|
24
|
+
"@powersync/service-core": "1.27.0",
|
|
25
|
+
"@powersync/service-jpgwire": "0.21.25",
|
|
26
26
|
"@powersync/service-jsonbig": "0.17.13",
|
|
27
|
-
"@powersync/service-sync-rules": "0.
|
|
28
|
-
"@powersync/service-types": "0.
|
|
27
|
+
"@powersync/service-sync-rules": "0.43.0",
|
|
28
|
+
"@powersync/service-types": "0.19.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/semver": "^7.5.4",
|
|
32
|
-
"@powersync/lib-service-postgres": "0.5.
|
|
33
|
-
"@powersync/service-core-tests": "0.18.
|
|
34
|
-
"@powersync/service-module-mongodb-storage": "0.
|
|
35
|
-
"@powersync/service-module-postgres-storage": "0.19.
|
|
32
|
+
"@powersync/lib-service-postgres": "0.5.6",
|
|
33
|
+
"@powersync/service-core-tests": "0.18.3",
|
|
34
|
+
"@powersync/service-module-mongodb-storage": "0.23.0",
|
|
35
|
+
"@powersync/service-module-postgres-storage": "0.19.2"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "tsc -b",
|