@rudderhq/db 0.7.19 → 0.7.20
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.test.js +1 -1
- package/dist/embedded-postgres-recovery.d.ts +4 -0
- package/dist/embedded-postgres-recovery.d.ts.map +1 -1
- package/dist/embedded-postgres-recovery.js +27 -1
- package/dist/embedded-postgres-recovery.js.map +1 -1
- package/dist/embedded-postgres-recovery.test.js +68 -2
- package/dist/embedded-postgres-recovery.test.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/client.test.js
CHANGED
|
@@ -171,7 +171,7 @@ afterEach(async () => {
|
|
|
171
171
|
retryDelay: 250,
|
|
172
172
|
});
|
|
173
173
|
}
|
|
174
|
-
}, migrationTestTimeout(
|
|
174
|
+
}, migrationTestTimeout(30_000));
|
|
175
175
|
describe("applyPendingMigrations", () => {
|
|
176
176
|
it("serializes migration attempts with a database advisory lock", async () => {
|
|
177
177
|
const connectionString = await createTempDatabase();
|
|
@@ -15,6 +15,10 @@ export type PostmasterPidFile = {
|
|
|
15
15
|
port: number | null;
|
|
16
16
|
};
|
|
17
17
|
export declare function readPostmasterPidFile(postmasterPidFile: string): PostmasterPidFile | null;
|
|
18
|
+
export declare function readLivePostmasterPidFile(postmasterPidFile: string, options: {
|
|
19
|
+
expectedDataDir: string;
|
|
20
|
+
processMatches?: (pid: number, expectedDataDir: string) => boolean;
|
|
21
|
+
}): PostmasterPidFile | null;
|
|
18
22
|
/** Remove only a dead PostgreSQL lock file; the database cluster is untouched. */
|
|
19
23
|
export declare function removeStalePostmasterPidFile(options: {
|
|
20
24
|
postmasterPidFile: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded-postgres-recovery.d.ts","sourceRoot":"","sources":["../src/embedded-postgres-recovery.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"embedded-postgres-recovery.d.ts","sourceRoot":"","sources":["../src/embedded-postgres-recovery.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AAmCF,wBAAgB,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAezF;AAED,wBAAgB,yBAAyB,CACvC,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE;IACP,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC;CACpE,GACA,iBAAiB,GAAG,IAAI,CAa1B;AAED,kFAAkF;AAClF,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,iBAAiB,GAAG,IAAI,CAmB3B;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,MAAM,EACvB,UAAU,GAAE,MAAM,EAAO,GACxB,KAAK,CA+BP;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAcvF;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,OAAO,EACd,UAAU,GAAE,MAAM,EAAO,GACxB,OAAO,CAaT;AAED,wBAAsB,oCAAoC,CAAC,OAAO,CAAC,EAAE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAmC9C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { execFile as execFileCb } from "node:child_process";
|
|
1
|
+
import { execFile as execFileCb, execFileSync } from "node:child_process";
|
|
2
2
|
import { existsSync, readFileSync, rmSync } from "node:fs";
|
|
3
3
|
import { userInfo } from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
@@ -15,6 +15,20 @@ function isProcessAlive(pid) {
|
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
function isExpectedPostmasterProcess(pid, expectedDataDir) {
|
|
19
|
+
try {
|
|
20
|
+
if (process.platform === "win32") {
|
|
21
|
+
const output = execFileSync("tasklist", ["/FI", `PID eq ${pid}`, "/FO", "CSV", "/NH"], { encoding: "utf8", windowsHide: true });
|
|
22
|
+
return /^"?postgres\.exe"?(?:,|$)/iu.test(output.trim());
|
|
23
|
+
}
|
|
24
|
+
const command = execFileSync("ps", ["-p", String(pid), "-o", "command="], { encoding: "utf8" }).trim();
|
|
25
|
+
return /(?:^|[/\s])postgres(?:\s|$)/u.test(command)
|
|
26
|
+
&& command.includes(path.resolve(expectedDataDir));
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
18
32
|
export function readPostmasterPidFile(postmasterPidFile) {
|
|
19
33
|
if (!existsSync(postmasterPidFile))
|
|
20
34
|
return null;
|
|
@@ -33,6 +47,18 @@ export function readPostmasterPidFile(postmasterPidFile) {
|
|
|
33
47
|
return null;
|
|
34
48
|
}
|
|
35
49
|
}
|
|
50
|
+
export function readLivePostmasterPidFile(postmasterPidFile, options) {
|
|
51
|
+
const parsed = readPostmasterPidFile(postmasterPidFile);
|
|
52
|
+
if (parsed?.pid === null
|
|
53
|
+
|| parsed?.pid === undefined
|
|
54
|
+
|| parsed.dataDir === null
|
|
55
|
+
|| path.resolve(parsed.dataDir) !== path.resolve(options.expectedDataDir)
|
|
56
|
+
|| !isProcessAlive(parsed.pid)) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const processMatches = options.processMatches ?? isExpectedPostmasterProcess;
|
|
60
|
+
return processMatches(parsed.pid, options.expectedDataDir) ? parsed : null;
|
|
61
|
+
}
|
|
36
62
|
/** Remove only a dead PostgreSQL lock file; the database cluster is untouched. */
|
|
37
63
|
export function removeStalePostmasterPidFile(options) {
|
|
38
64
|
const parsed = readPostmasterPidFile(options.postmasterPidFile);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded-postgres-recovery.js","sourceRoot":"","sources":["../src/embedded-postgres-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"embedded-postgres-recovery.js","sourceRoot":"","sources":["../src/embedded-postgres-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import { afterEach, describe, expect, it } from "vitest";
|
|
5
|
-
import { createEmbeddedPostgresStartupError, isEmbeddedPostgresSharedMemoryError, parseSysvSharedMemorySegments, readPostmasterPidFile, removeStalePostmasterPidFile, } from "./embedded-postgres-recovery.js";
|
|
4
|
+
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
5
|
+
import { createEmbeddedPostgresStartupError, isEmbeddedPostgresSharedMemoryError, parseSysvSharedMemorySegments, readLivePostmasterPidFile, readPostmasterPidFile, removeStalePostmasterPidFile, } from "./embedded-postgres-recovery.js";
|
|
6
6
|
const tempRoots = [];
|
|
7
7
|
afterEach(() => {
|
|
8
8
|
for (const root of tempRoots.splice(0))
|
|
@@ -27,6 +27,72 @@ describe("PostgreSQL postmaster pid recovery", () => {
|
|
|
27
27
|
port: 54339,
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
|
+
it("returns the actual port for a live postmaster even when startup configuration changes", () => {
|
|
31
|
+
const dataDir = "/tmp/rudder-live-db";
|
|
32
|
+
const file = createPidFile([
|
|
33
|
+
String(process.pid),
|
|
34
|
+
dataDir,
|
|
35
|
+
"0",
|
|
36
|
+
"54339",
|
|
37
|
+
"",
|
|
38
|
+
"127.0.0.1",
|
|
39
|
+
"",
|
|
40
|
+
"ready",
|
|
41
|
+
"",
|
|
42
|
+
].join("\n"));
|
|
43
|
+
expect(readLivePostmasterPidFile(file, {
|
|
44
|
+
expectedDataDir: dataDir,
|
|
45
|
+
processMatches: () => true,
|
|
46
|
+
})).toEqual({
|
|
47
|
+
pid: process.pid,
|
|
48
|
+
dataDir,
|
|
49
|
+
port: 54339,
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
it("rejects a live PID that is not the expected PostgreSQL postmaster", () => {
|
|
53
|
+
const dataDir = "/tmp/rudder-live-db";
|
|
54
|
+
const file = createPidFile([
|
|
55
|
+
String(process.pid),
|
|
56
|
+
dataDir,
|
|
57
|
+
"0",
|
|
58
|
+
"54339",
|
|
59
|
+
"",
|
|
60
|
+
"127.0.0.1",
|
|
61
|
+
"",
|
|
62
|
+
"ready",
|
|
63
|
+
"",
|
|
64
|
+
].join("\n"));
|
|
65
|
+
expect(readLivePostmasterPidFile(file, {
|
|
66
|
+
expectedDataDir: dataDir,
|
|
67
|
+
processMatches: () => false,
|
|
68
|
+
})).toBeNull();
|
|
69
|
+
});
|
|
70
|
+
it("rejects a live postmaster pid file for another data directory", () => {
|
|
71
|
+
const file = createPidFile([
|
|
72
|
+
String(process.pid),
|
|
73
|
+
"/tmp/another-rudder-db",
|
|
74
|
+
"0",
|
|
75
|
+
"54339",
|
|
76
|
+
"",
|
|
77
|
+
"127.0.0.1",
|
|
78
|
+
"",
|
|
79
|
+
"ready",
|
|
80
|
+
"",
|
|
81
|
+
].join("\n"));
|
|
82
|
+
const processMatches = vi.fn(() => true);
|
|
83
|
+
expect(readLivePostmasterPidFile(file, {
|
|
84
|
+
expectedDataDir: "/tmp/rudder-live-db",
|
|
85
|
+
processMatches,
|
|
86
|
+
})).toBeNull();
|
|
87
|
+
expect(processMatches).not.toHaveBeenCalled();
|
|
88
|
+
});
|
|
89
|
+
it("rejects a dead postmaster instead of reusing its port", () => {
|
|
90
|
+
const file = createPidFile(stalePidFileContents("/tmp/rudder-dead-db", 54339));
|
|
91
|
+
expect(readLivePostmasterPidFile(file, {
|
|
92
|
+
expectedDataDir: "/tmp/rudder-dead-db",
|
|
93
|
+
processMatches: () => true,
|
|
94
|
+
})).toBeNull();
|
|
95
|
+
});
|
|
30
96
|
it("removes a dead pid file without touching the database cluster", () => {
|
|
31
97
|
const root = mkdtempSync(path.join(os.tmpdir(), "rudder-postmaster-recovery-db-"));
|
|
32
98
|
tempRoots.push(root);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedded-postgres-recovery.test.js","sourceRoot":"","sources":["../src/embedded-postgres-recovery.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"embedded-postgres-recovery.test.js","sourceRoot":"","sources":["../src/embedded-postgres-recovery.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EACL,kCAAkC,EAClC,mCAAmC,EACnC,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,SAAS,GAAa,EAAE,CAAC;AAE/B,SAAS,CAAC,GAAG,EAAE;IACb,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACzF,CAAC,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAChF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC/C,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe,EAAE,IAAI,GAAG,KAAK;IACzD,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjG,CAAC;AAED,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,IAAI,GAAG,aAAa,CAAC,oBAAoB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;QAExE,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1C,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;QAC/F,MAAM,OAAO,GAAG,qBAAqB,CAAC;QACtC,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YACnB,OAAO;YACP,GAAG;YACH,OAAO;YACP,EAAE;YACF,WAAW;YACX,EAAE;YACF,OAAO;YACP,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEd,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE;YACrC,eAAe,EAAE,OAAO;YACxB,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;SAC3B,CAAC,CAAC,CAAC,OAAO,CAAC;YACV,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO;YACP,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,OAAO,GAAG,qBAAqB,CAAC;QACtC,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YACnB,OAAO;YACP,GAAG;YACH,OAAO;YACP,EAAE;YACF,WAAW;YACX,EAAE;YACF,OAAO;YACP,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEd,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE;YACrC,eAAe,EAAE,OAAO;YACxB,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK;SAC5B,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YACnB,wBAAwB;YACxB,GAAG;YACH,OAAO;YACP,EAAE;YACF,WAAW;YACX,EAAE;YACF,OAAO;YACP,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACd,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE;YACrC,eAAe,EAAE,qBAAqB;YACtC,cAAc;SACf,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,aAAa,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC;QAE/E,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE;YACrC,eAAe,EAAE,qBAAqB;YACtC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;SAC3B,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gCAAgC,CAAC,CAAC,CAAC;QACnF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,aAAa,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAEjE,MAAM,CAAC,4BAA4B,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAClG,GAAG,EAAE,UAAU;YACf,OAAO;YACP,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,IAAI,GAAG,aAAa,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC;QAEhE,MAAM,CAAC,4BAA4B,CAAC;YAClC,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,cAAc;SAChC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,KAAK,GAAG,kCAAkC,CAC9C,SAAS,EACT,yCAAyC,EACzC,CAAC,4BAA4B,EAAE,sCAAsC,CAAC,CACvE,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7E,MAAM,CAAC,KAAK,GAAG,4EAA4E,CAAC;QAE5F,MAAM,KAAK,GAAG,kCAAkC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE1F,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAE,KAAoC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAG,6BAA6B,CAAC;;;;;;KAM5C,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,EAAE,EAAE,OAAO;gBACX,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,KAAK;gBACjB,eAAe,EAAE,KAAK;aACvB;YACD;gBACE,EAAE,EAAE,UAAU;gBACd,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,KAAK;gBACjB,eAAe,EAAE,KAAK;aACvB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CACJ,mCAAmC,CAAC,SAAS,EAAE;YAC7C,wEAAwE;YACxE,sEAAsE;SACvE,CAAC,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CACJ,mCAAmC,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CACjF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { estimateDatabaseBackupSize, formatDatabaseBackupResult, getDatabaseBackupSizeGuardDecision, runDatabaseBackup, runDatabaseRestore, type DatabaseBackupSizeEstimate, type DatabaseBackupSizeGuardDecision, type DatabaseBackupTableSizeEstimate, type EstimateDatabaseBackupSizeOptions, type RunDatabaseBackupOptions, type RunDatabaseBackupResult, type RunDatabaseRestoreOptions } from "./backup-lib.js";
|
|
2
2
|
export { MIGRATION_ADVISORY_LOCK_NAME, applyPendingMigrations, assertPostMigrationInvariants, createDb, ensurePostgresDatabase, ensurePostgresRolePassword, getPostgresDataDirectory, inspectMigrations, listLegacyColumnRenames, migratePostgresIfEmpty, normalizeLegacyColumnNames, reconcilePendingMigrationHistory, validatePostMigrationInvariants, withMigrationAdvisoryLock, type Db, type EnsurePostgresRolePasswordOptions, type EnsurePostgresRolePasswordResult, type MigrationBootstrapResult, type MigrationHistoryReconcileResult, type MigrationState, type PostMigrationInvariantIssue, type PostMigrationInvariantReport } from "./client.js";
|
|
3
|
-
export { cleanupStaleSysvSharedMemorySegments, createEmbeddedPostgresStartupError, isEmbeddedPostgresSharedMemoryError, parseSysvSharedMemorySegments, readPostmasterPidFile, removeStalePostmasterPidFile, type CleanupStaleSysvSharedMemoryResult, type PostmasterPidFile, type SysvSharedMemorySegment } from "./embedded-postgres-recovery.js";
|
|
3
|
+
export { cleanupStaleSysvSharedMemorySegments, createEmbeddedPostgresStartupError, isEmbeddedPostgresSharedMemoryError, parseSysvSharedMemorySegments, readLivePostmasterPidFile, readPostmasterPidFile, removeStalePostmasterPidFile, type CleanupStaleSysvSharedMemoryResult, type PostmasterPidFile, type SysvSharedMemorySegment } from "./embedded-postgres-recovery.js";
|
|
4
4
|
export { RUDDER_POSTGRES_BIN_DIR_ENV, RUDDER_PRODUCTION_POSTGRES_VERSION, assertOfficialPostgresVersion, buildOfficialPostgresInitdbArgs, createLocalPostgresInstance, createOfficialPostgresInstance, resolveOfficialPostgresBinDir, resolveOfficialPostgresBinaries, validateOfficialPostgresBinDir, type LocalPostgresInstance, type LocalPostgresInstanceOptions, type LocalPostgresInstanceSelection, type LocalPostgresProvider, type PostgresVersionRunner } from "./local-postgres-provider.js";
|
|
5
5
|
export { assertMigrationManifestCompatible, createMigrationManifest, validateMigrationManifestCompatibility, validateMigrationManifestIntegrity, type MigrationManifest, type MigrationManifestEntry, type MigrationManifestValidation } from "./migration-manifest.js";
|
|
6
6
|
export * from "./schema/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAAE,0BAA0B,EAAE,kCAAkC,EAC1F,iBAAiB,EACjB,kBAAkB,EAAE,KAAK,0BAA0B,EACnD,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,4BAA4B,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,QAAQ,EAAE,sBAAsB,EACrH,0BAA0B,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,EACxH,0BAA0B,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,yBAAyB,EACxH,KAAK,EAAE,EAAE,KAAK,iCAAiC,EAAE,KAAK,gCAAgC,EAAE,KAAK,wBAAwB,EACrH,KAAK,+BAA+B,EAAE,KAAK,cAAc,EAAE,KAAK,2BAA2B,EAAE,KAAK,4BAA4B,EAC/H,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oCAAoC,EACpC,kCAAkC,EAClC,mCAAmC,EACnC,6BAA6B,EAC7B,qBAAqB,EACrB,4BAA4B,EAC5B,KAAK,kCAAkC,EACvC,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,EAClC,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,sCAAsC,EACtC,kCAAkC,EAClC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EACjC,MAAM,yBAAyB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAAE,0BAA0B,EAAE,kCAAkC,EAC1F,iBAAiB,EACjB,kBAAkB,EAAE,KAAK,0BAA0B,EACnD,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,4BAA4B,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,QAAQ,EAAE,sBAAsB,EACrH,0BAA0B,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,EACxH,0BAA0B,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,yBAAyB,EACxH,KAAK,EAAE,EAAE,KAAK,iCAAiC,EAAE,KAAK,gCAAgC,EAAE,KAAK,wBAAwB,EACrH,KAAK,+BAA+B,EAAE,KAAK,cAAc,EAAE,KAAK,2BAA2B,EAAE,KAAK,4BAA4B,EAC/H,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oCAAoC,EACpC,kCAAkC,EAClC,mCAAmC,EACnC,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,EAC5B,KAAK,kCAAkC,EACvC,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,EAClC,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,sCAAsC,EACtC,kCAAkC,EAClC,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EACjC,MAAM,yBAAyB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { estimateDatabaseBackupSize, formatDatabaseBackupResult, getDatabaseBackupSizeGuardDecision, runDatabaseBackup, runDatabaseRestore } from "./backup-lib.js";
|
|
2
2
|
export { MIGRATION_ADVISORY_LOCK_NAME, applyPendingMigrations, assertPostMigrationInvariants, createDb, ensurePostgresDatabase, ensurePostgresRolePassword, getPostgresDataDirectory, inspectMigrations, listLegacyColumnRenames, migratePostgresIfEmpty, normalizeLegacyColumnNames, reconcilePendingMigrationHistory, validatePostMigrationInvariants, withMigrationAdvisoryLock } from "./client.js";
|
|
3
|
-
export { cleanupStaleSysvSharedMemorySegments, createEmbeddedPostgresStartupError, isEmbeddedPostgresSharedMemoryError, parseSysvSharedMemorySegments, readPostmasterPidFile, removeStalePostmasterPidFile } from "./embedded-postgres-recovery.js";
|
|
3
|
+
export { cleanupStaleSysvSharedMemorySegments, createEmbeddedPostgresStartupError, isEmbeddedPostgresSharedMemoryError, parseSysvSharedMemorySegments, readLivePostmasterPidFile, readPostmasterPidFile, removeStalePostmasterPidFile } from "./embedded-postgres-recovery.js";
|
|
4
4
|
export { RUDDER_POSTGRES_BIN_DIR_ENV, RUDDER_PRODUCTION_POSTGRES_VERSION, assertOfficialPostgresVersion, buildOfficialPostgresInitdbArgs, createLocalPostgresInstance, createOfficialPostgresInstance, resolveOfficialPostgresBinDir, resolveOfficialPostgresBinaries, validateOfficialPostgresBinDir } from "./local-postgres-provider.js";
|
|
5
5
|
export { assertMigrationManifestCompatible, createMigrationManifest, validateMigrationManifestCompatibility, validateMigrationManifestIntegrity } from "./migration-manifest.js";
|
|
6
6
|
export * from "./schema/index.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAAE,0BAA0B,EAAE,kCAAkC,EAC1F,iBAAiB,EACjB,kBAAkB,EAOnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,4BAA4B,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,QAAQ,EAAE,sBAAsB,EACrH,0BAA0B,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,EACxH,0BAA0B,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,yBAAyB,EAGzH,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oCAAoC,EACpC,kCAAkC,EAClC,mCAAmC,EACnC,6BAA6B,EAC7B,qBAAqB,EACrB,4BAA4B,EAI7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,EAClC,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAM/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,sCAAsC,EACtC,kCAAkC,EAInC,MAAM,yBAAyB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAAE,0BAA0B,EAAE,kCAAkC,EAC1F,iBAAiB,EACjB,kBAAkB,EAOnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,4BAA4B,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,QAAQ,EAAE,sBAAsB,EACrH,0BAA0B,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,EACxH,0BAA0B,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,yBAAyB,EAGzH,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oCAAoC,EACpC,kCAAkC,EAClC,mCAAmC,EACnC,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,4BAA4B,EAI7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,EAClC,6BAA6B,EAC7B,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAM/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iCAAiC,EACjC,uBAAuB,EACvB,sCAAsC,EACtC,kCAAkC,EAInC,MAAM,yBAAyB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderhq/db",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.20",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"homepage": "https://github.com/Undertone0809/rudder",
|
|
6
6
|
"bugs": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"seed": "tsx src/seed.ts"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@rudderhq/shared": "0.7.
|
|
54
|
+
"@rudderhq/shared": "0.7.20",
|
|
55
55
|
"drizzle-orm": "^0.45.2",
|
|
56
56
|
"embedded-postgres": "18.1.0-beta.16",
|
|
57
57
|
"postgres": "^3.4.8"
|