spindb 0.47.18 → 0.48.1
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/cli/commands/which.js +49 -15
- package/dist/cli/commands/which.js.map +1 -1
- package/dist/config/version.js +1 -1
- package/dist/config/version.js.map +1 -1
- package/dist/core/pg-binary-resolver.js +91 -0
- package/dist/core/pg-binary-resolver.js.map +1 -0
- package/dist/engines/ferretdb/restore.js +5 -8
- package/dist/engines/ferretdb/restore.js.map +1 -1
- package/dist/engines/postgresql/backup.js +1 -5
- package/dist/engines/postgresql/backup.js.map +1 -1
- package/dist/engines/postgresql/index.js +19 -53
- package/dist/engines/postgresql/index.js.map +1 -1
- package/dist/engines/postgresql/remote-version.js +1 -3
- package/dist/engines/postgresql/remote-version.js.map +1 -1
- package/dist/engines/postgresql/restore.js +2 -4
- package/dist/engines/postgresql/restore.js.map +1 -1
- package/dist/engines/postgresql/version-validator.js +33 -63
- package/dist/engines/postgresql/version-validator.js.map +1 -1
- package/package.json +1 -1
- package/dist/core/homebrew-version-manager.js +0 -280
- package/dist/core/homebrew-version-manager.js.map +0 -1
|
@@ -15,6 +15,44 @@ import chalk from 'chalk';
|
|
|
15
15
|
import { containerManager } from '../../core/container-manager.js';
|
|
16
16
|
import { uiError } from '../ui/theme.js';
|
|
17
17
|
import { Engine } from '../../types/index.js';
|
|
18
|
+
/**
|
|
19
|
+
* Pick the best-matching container for the given criteria.
|
|
20
|
+
*
|
|
21
|
+
* Multiple containers can legitimately share a port (e.g., one running, others
|
|
22
|
+
* stopped from earlier experiments). Prefer running containers, and if the
|
|
23
|
+
* caller passed a database name, prefer containers that actually host it.
|
|
24
|
+
* Stable — containers that tie on score keep their original order.
|
|
25
|
+
*/
|
|
26
|
+
export function selectContainerForWhich(containers, criteria) {
|
|
27
|
+
const { targetPort, targetEngine, targetDatabase, runningOnly } = criteria;
|
|
28
|
+
const candidates = containers.filter((c) => {
|
|
29
|
+
if (targetPort !== undefined && c.port !== targetPort)
|
|
30
|
+
return false;
|
|
31
|
+
if (targetEngine && c.engine !== targetEngine)
|
|
32
|
+
return false;
|
|
33
|
+
if (runningOnly && c.status !== 'running')
|
|
34
|
+
return false;
|
|
35
|
+
return true;
|
|
36
|
+
});
|
|
37
|
+
function score(c) {
|
|
38
|
+
let s = 0;
|
|
39
|
+
if (c.status === 'running')
|
|
40
|
+
s += 4;
|
|
41
|
+
if (targetDatabase) {
|
|
42
|
+
const hostsTarget = c.database === targetDatabase ||
|
|
43
|
+
(c.databases?.includes(targetDatabase) ?? false);
|
|
44
|
+
if (hostsTarget)
|
|
45
|
+
s += 2;
|
|
46
|
+
}
|
|
47
|
+
return s;
|
|
48
|
+
}
|
|
49
|
+
// Decorate-sort-undecorate to keep the sort stable across Node versions that
|
|
50
|
+
// previously had unstable Array#sort for equal scores.
|
|
51
|
+
const ranked = candidates
|
|
52
|
+
.map((c, i) => ({ c, i, s: score(c) }))
|
|
53
|
+
.sort((a, b) => b.s - a.s || a.i - b.i);
|
|
54
|
+
return ranked[0]?.c ?? null;
|
|
55
|
+
}
|
|
18
56
|
/**
|
|
19
57
|
* Parse a database connection URL and extract host, port, and engine type.
|
|
20
58
|
* Returns null for invalid URLs or unrecognized protocols without explicit port.
|
|
@@ -22,11 +60,13 @@ import { Engine } from '../../types/index.js';
|
|
|
22
60
|
function parseConnectionUrl(url) {
|
|
23
61
|
try {
|
|
24
62
|
const parsed = new URL(url);
|
|
63
|
+
const database = parsed.pathname.replace(/^\//, '').split('?')[0] || undefined;
|
|
25
64
|
// If URL has explicit port, use it
|
|
26
65
|
if (parsed.port) {
|
|
27
66
|
return {
|
|
28
67
|
host: parsed.hostname,
|
|
29
68
|
port: parseInt(parsed.port, 10),
|
|
69
|
+
database,
|
|
30
70
|
engine: getEngineFromProtocol(parsed.protocol),
|
|
31
71
|
};
|
|
32
72
|
}
|
|
@@ -37,12 +77,14 @@ function parseConnectionUrl(url) {
|
|
|
37
77
|
return {
|
|
38
78
|
host: parsed.hostname,
|
|
39
79
|
port: 0, // Will be caught by caller
|
|
80
|
+
database,
|
|
40
81
|
unsupportedProtocol: parsed.protocol.replace(/:$/, ''),
|
|
41
82
|
};
|
|
42
83
|
}
|
|
43
84
|
return {
|
|
44
85
|
host: parsed.hostname,
|
|
45
86
|
port: defaultPort,
|
|
87
|
+
database,
|
|
46
88
|
engine: getEngineFromProtocol(parsed.protocol),
|
|
47
89
|
};
|
|
48
90
|
}
|
|
@@ -102,6 +144,7 @@ export const whichCommand = new Command('which')
|
|
|
102
144
|
// Parse the port/URL to find what we're looking for
|
|
103
145
|
let targetPort;
|
|
104
146
|
let targetEngine;
|
|
147
|
+
let targetDatabase;
|
|
105
148
|
if (options.url) {
|
|
106
149
|
const parsed = parseConnectionUrl(options.url);
|
|
107
150
|
if (!parsed) {
|
|
@@ -138,6 +181,7 @@ export const whichCommand = new Command('which')
|
|
|
138
181
|
}
|
|
139
182
|
targetPort = parsed.port;
|
|
140
183
|
targetEngine = parsed.engine;
|
|
184
|
+
targetDatabase = parsed.database;
|
|
141
185
|
}
|
|
142
186
|
else if (options.port) {
|
|
143
187
|
targetPort = parseInt(options.port, 10);
|
|
@@ -193,22 +237,12 @@ export const whichCommand = new Command('which')
|
|
|
193
237
|
process.exit(1);
|
|
194
238
|
}
|
|
195
239
|
}
|
|
196
|
-
// Get all containers and find matching one
|
|
197
240
|
const containers = await containerManager.list();
|
|
198
|
-
const match = containers
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
// Engine must match if specified
|
|
204
|
-
if (targetEngine && c.engine !== targetEngine) {
|
|
205
|
-
return false;
|
|
206
|
-
}
|
|
207
|
-
// Running filter
|
|
208
|
-
if (options.running && c.status !== 'running') {
|
|
209
|
-
return false;
|
|
210
|
-
}
|
|
211
|
-
return true;
|
|
241
|
+
const match = selectContainerForWhich(containers, {
|
|
242
|
+
targetPort,
|
|
243
|
+
targetEngine,
|
|
244
|
+
targetDatabase,
|
|
245
|
+
runningOnly: options.running,
|
|
212
246
|
});
|
|
213
247
|
if (!match) {
|
|
214
248
|
const criteria = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"which.js","sourceRoot":"","sources":["../../../cli/commands/which.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"which.js","sourceRoot":"","sources":["../../../cli/commands/which.ts"],"names":[],"mappings":"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"}
|
package/dist/config/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../config/version.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../config/version.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAA"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL Binary Resolver
|
|
3
|
+
*
|
|
4
|
+
* Resolves the correct pg_dump / pg_restore / psql / pg_basebackup binary for a
|
|
5
|
+
* requested major version. SpinDB owns all of its database binaries: they are
|
|
6
|
+
* downloaded by hostdb and stored under ~/.spindb/bin/postgresql-<version>-<platform>-<arch>/bin/.
|
|
7
|
+
*
|
|
8
|
+
* We do NOT look at system-installed PostgreSQL (Homebrew, APT, YUM, etc.).
|
|
9
|
+
* If a matching bundled binary is not present, the correct remediation is to
|
|
10
|
+
* run `spindb engines download postgresql <major>`, not to install a separate
|
|
11
|
+
* copy via a system package manager.
|
|
12
|
+
*/
|
|
13
|
+
import { existsSync } from 'fs';
|
|
14
|
+
import { join } from 'path';
|
|
15
|
+
import { paths } from '../config/paths.js';
|
|
16
|
+
import { platformService } from './platform-service.js';
|
|
17
|
+
/**
|
|
18
|
+
* Resolve the path to a PostgreSQL tool inside SpinDB's bundled binary cache.
|
|
19
|
+
*
|
|
20
|
+
* Returns the newest installed patch release for the requested major version,
|
|
21
|
+
* or null if no matching bundled binary is present.
|
|
22
|
+
*/
|
|
23
|
+
export function getBundledBinaryPath(tool, majorVersion) {
|
|
24
|
+
const { platform, arch } = platformService.getPlatformInfo();
|
|
25
|
+
const ext = platformService.getExecutableExtension();
|
|
26
|
+
const installed = paths.findInstalledBinaries('postgresql', platform, arch);
|
|
27
|
+
const majorPrefix = `${majorVersion}.`;
|
|
28
|
+
for (const entry of installed) {
|
|
29
|
+
// Match same-major installs (version === "18" or starts with "18.")
|
|
30
|
+
if (entry.version !== majorVersion && !entry.version.startsWith(majorPrefix)) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
const toolPath = join(entry.path, 'bin', `${tool}${ext}`);
|
|
34
|
+
if (existsSync(toolPath))
|
|
35
|
+
return toolPath;
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Scan SpinDB's bundled binary cache for every installed PostgreSQL version.
|
|
41
|
+
* Returned entries are sorted newest-first (by version, via paths.findInstalledBinaries).
|
|
42
|
+
*/
|
|
43
|
+
export function detectInstalledPostgres() {
|
|
44
|
+
const { platform, arch } = platformService.getPlatformInfo();
|
|
45
|
+
const installed = paths.findInstalledBinaries('postgresql', platform, arch);
|
|
46
|
+
const ext = platformService.getExecutableExtension();
|
|
47
|
+
const bundled = [];
|
|
48
|
+
for (const entry of installed) {
|
|
49
|
+
const binDir = join(entry.path, 'bin');
|
|
50
|
+
if (!existsSync(join(binDir, `pg_dump${ext}`)))
|
|
51
|
+
continue;
|
|
52
|
+
const majorVersion = entry.version.split('.')[0];
|
|
53
|
+
if (!majorVersion)
|
|
54
|
+
continue;
|
|
55
|
+
bundled.push({
|
|
56
|
+
majorVersion,
|
|
57
|
+
fullVersion: entry.version,
|
|
58
|
+
binPath: binDir,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return bundled;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Find the lowest installed bundled version that can read data from a server
|
|
65
|
+
* at the target major version (i.e., version >= targetMajor).
|
|
66
|
+
*
|
|
67
|
+
* Returns null if no compatible bundled binary is available.
|
|
68
|
+
*/
|
|
69
|
+
export function findCompatibleVersion(targetMajor) {
|
|
70
|
+
const installed = detectInstalledPostgres();
|
|
71
|
+
const compatible = installed.filter((v) => parseInt(v.majorVersion, 10) >= targetMajor);
|
|
72
|
+
if (compatible.length === 0) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
// Prefer the lowest compatible major (closest to the remote server).
|
|
76
|
+
compatible.sort((a, b) => parseInt(a.majorVersion, 10) - parseInt(b.majorVersion, 10));
|
|
77
|
+
return compatible[0];
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get versioned tool paths for a specific PostgreSQL major version.
|
|
81
|
+
* Returns null for any tool that isn't present in the bundled install.
|
|
82
|
+
*/
|
|
83
|
+
export function getVersionedToolPaths(majorVersion) {
|
|
84
|
+
return {
|
|
85
|
+
pgDump: getBundledBinaryPath('pg_dump', majorVersion),
|
|
86
|
+
pgRestore: getBundledBinaryPath('pg_restore', majorVersion),
|
|
87
|
+
psql: getBundledBinaryPath('psql', majorVersion),
|
|
88
|
+
pgBasebackup: getBundledBinaryPath('pg_basebackup', majorVersion),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=pg-binary-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pg-binary-resolver.js","sourceRoot":"","sources":["../../core/pg-binary-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,14 +8,14 @@ import { existsSync, readdirSync, statSync } from 'fs';
|
|
|
8
8
|
import { open } from 'fs/promises';
|
|
9
9
|
import { basename, join } from 'path';
|
|
10
10
|
import { logDebug, logWarning } from '../../core/error-handler.js';
|
|
11
|
-
import { getDefaultUsername, loadCredentials } from '../../core/credential-manager.js';
|
|
11
|
+
import { getDefaultUsername, loadCredentials, } from '../../core/credential-manager.js';
|
|
12
12
|
import { containerManager } from '../../core/container-manager.js';
|
|
13
13
|
import { configManager } from '../../core/config-manager.js';
|
|
14
14
|
import { platformService } from '../../core/platform-service.js';
|
|
15
15
|
import { paths } from '../../config/paths.js';
|
|
16
16
|
import { buildMongoUri, normalizeMongoHost } from '../mongo-uri.js';
|
|
17
17
|
import { ferretdbBinaryManager } from './binary-manager.js';
|
|
18
|
-
import { getMongorestorePath, MONGORESTORE_NOT_FOUND_ERROR } from '../mongodb/cli-utils.js';
|
|
18
|
+
import { getMongorestorePath, MONGORESTORE_NOT_FOUND_ERROR, } from '../mongodb/cli-utils.js';
|
|
19
19
|
import { DEFAULT_DOCUMENTDB_VERSION, DEFAULT_V1_POSTGRESQL_VERSION, isV1, } from './version-maps.js';
|
|
20
20
|
import { Engine, } from '../../types/index.js';
|
|
21
21
|
function redactMongoUri(uri) {
|
|
@@ -87,10 +87,7 @@ async function findBackendBinary(container, binaryName) {
|
|
|
87
87
|
}
|
|
88
88
|
const backendName = v1 ? 'PostgreSQL' : 'postgresql-documentdb';
|
|
89
89
|
throw new Error(`${binaryName} not found. The ${backendName} installation at ${backendPath} does not include client tools.\n` +
|
|
90
|
-
'
|
|
91
|
-
' macOS: brew install libpq && brew link --force libpq\n' +
|
|
92
|
-
' Ubuntu/Debian: apt install postgresql-client\n\n' +
|
|
93
|
-
`Or configure manually: spindb config set ${binaryName} /path/to/${binaryName}`);
|
|
90
|
+
'Download PostgreSQL binaries: spindb engines download postgresql');
|
|
94
91
|
}
|
|
95
92
|
/**
|
|
96
93
|
* Get the path to pg_restore
|
|
@@ -222,7 +219,7 @@ export async function detectBackupFormat(filePath) {
|
|
|
222
219
|
// Default timeout for restore operations (5 minutes)
|
|
223
220
|
const DEFAULT_RESTORE_TIMEOUT_MS = 5 * 60 * 1000;
|
|
224
221
|
async function restoreViaMongo(backupPath, options, format) {
|
|
225
|
-
const { port, database, drop = true, sourceDatabase, containerVersion } = options;
|
|
222
|
+
const { port, database, drop = true, sourceDatabase, containerVersion, } = options;
|
|
226
223
|
const timeoutMs = options.timeoutMs ?? DEFAULT_RESTORE_TIMEOUT_MS;
|
|
227
224
|
const backupDatabase = sourceDatabase ?? database;
|
|
228
225
|
const mongorestore = await getMongorestorePath(containerVersion);
|
|
@@ -367,7 +364,7 @@ async function restoreViaMongo(backupPath, options, format) {
|
|
|
367
364
|
*/
|
|
368
365
|
export async function restoreBackup(container, backupPath, options) {
|
|
369
366
|
const { backendPort } = container;
|
|
370
|
-
const { database, drop = true, timeoutMs = DEFAULT_RESTORE_TIMEOUT_MS } = options;
|
|
367
|
+
const { database, drop = true, timeoutMs = DEFAULT_RESTORE_TIMEOUT_MS, } = options;
|
|
371
368
|
// Detect backup format
|
|
372
369
|
const format = await detectBackupFormat(backupPath);
|
|
373
370
|
logDebug(`Detected backup format: ${format.format}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../engines/ferretdb/restore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"restore.js","sourceRoot":"","sources":["../../../engines/ferretdb/restore.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,11 +55,7 @@ async function getPgDumpPath(containerVersion) {
|
|
|
55
55
|
return systemPgDump;
|
|
56
56
|
}
|
|
57
57
|
throw new Error(`pg_dump not found for PostgreSQL ${containerVersion}. ` +
|
|
58
|
-
`
|
|
59
|
-
'or install PostgreSQL client tools:\n' +
|
|
60
|
-
' macOS: brew install libpq && brew link --force libpq\n' +
|
|
61
|
-
' Ubuntu/Debian: apt install postgresql-client\n\n' +
|
|
62
|
-
'Or configure manually: spindb config set pg_dump /path/to/pg_dump');
|
|
58
|
+
`Download the matching binaries: spindb engines download postgresql ${majorVersion}`);
|
|
63
59
|
}
|
|
64
60
|
/**
|
|
65
61
|
* Create a backup of a PostgreSQL database
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../engines/postgresql/backup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAA;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EACL,kBAAkB,EAClB,eAAe,GAChB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,sBAAsB,EACtB,eAAe,GAChB,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EACL,MAAM,GAIP,MAAM,aAAa,CAAA;AAEpB;;;;;;;;GAQG;AACH,KAAK,UAAU,aAAa,CAAC,gBAAwB;IACnD,qDAAqD;IACrD,MAAM,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAEtD,iDAAiD;IACjD,MAAM,YAAY,GAAG,eAAe,CAAC,eAAe,EAAE,CAAA;IACtD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IAE3D,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC;QAC3C,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,IAAI,EAAE,YAAY,CAAC,IAAI;KACxB,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,CAAA;IAEtE,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,2DAA2D;IAC3D,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,2BAA2B,CACjD,YAAY,EACZ,YAAY,EACZ,YAAY,CAAC,QAAQ,EACrB,YAAY,CAAC,IAAI,CAClB,CAAA;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,CAAA;QACpE,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,OAAO,eAAe,CAAA;QACxB,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,MAAM,IAAI,KAAK,CACb,oCAAoC,gBAAgB,IAAI;QACtD,
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../engines/postgresql/backup.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,6 @@ import { SUPPORTED_MAJOR_VERSIONS, POSTGRESQL_VERSION_MAP, } from './version-map
|
|
|
17
17
|
import { detectBackupFormat, restoreBackup } from './restore.js';
|
|
18
18
|
import { createBackup } from './backup.js';
|
|
19
19
|
import { validateDumpCompatibility, } from './version-validator.js';
|
|
20
|
-
import { switchHomebrewVersion } from '../../core/homebrew-version-manager.js';
|
|
21
20
|
import { getDefaultUsername, loadCredentials, } from '../../core/credential-manager.js';
|
|
22
21
|
import { assertValidDatabaseName, assertValidUsername, SpinDBError, ErrorCodes, } from '../../core/error-handler.js';
|
|
23
22
|
import { parseCSVToQueryResult } from '../../core/query-parser.js';
|
|
@@ -364,30 +363,24 @@ export class PostgreSQLEngine extends BaseEngine {
|
|
|
364
363
|
async getPsqlPath() {
|
|
365
364
|
const psqlPath = await configManager.getBinaryPath('psql');
|
|
366
365
|
if (!psqlPath) {
|
|
367
|
-
throw new Error('psql not found.
|
|
368
|
-
'
|
|
369
|
-
' Ubuntu/Debian: apt install postgresql-client\n\n' +
|
|
370
|
-
'Or configure manually: spindb config set psql /path/to/psql');
|
|
366
|
+
throw new Error('psql not found. Download PostgreSQL binaries:\n' +
|
|
367
|
+
' spindb engines download postgresql');
|
|
371
368
|
}
|
|
372
369
|
return psqlPath;
|
|
373
370
|
}
|
|
374
371
|
async getPgRestorePath() {
|
|
375
372
|
const pgRestorePath = await configManager.getBinaryPath('pg_restore');
|
|
376
373
|
if (!pgRestorePath) {
|
|
377
|
-
throw new Error('pg_restore not found.
|
|
378
|
-
'
|
|
379
|
-
' Ubuntu/Debian: apt install postgresql-client\n\n' +
|
|
380
|
-
'Or configure manually: spindb config set pg_restore /path/to/pg_restore');
|
|
374
|
+
throw new Error('pg_restore not found. Download PostgreSQL binaries:\n' +
|
|
375
|
+
' spindb engines download postgresql');
|
|
381
376
|
}
|
|
382
377
|
return pgRestorePath;
|
|
383
378
|
}
|
|
384
379
|
async getPgDumpPath() {
|
|
385
380
|
const pgDumpPath = await configManager.getBinaryPath('pg_dump');
|
|
386
381
|
if (!pgDumpPath) {
|
|
387
|
-
throw new Error('pg_dump not found.
|
|
388
|
-
'
|
|
389
|
-
' Ubuntu/Debian: apt install postgresql-client\n\n' +
|
|
390
|
-
'Or configure manually: spindb config set pg_dump /path/to/pg_dump');
|
|
382
|
+
throw new Error('pg_dump not found. Download PostgreSQL binaries:\n' +
|
|
383
|
+
' spindb engines download postgresql');
|
|
391
384
|
}
|
|
392
385
|
return pgDumpPath;
|
|
393
386
|
}
|
|
@@ -405,11 +398,10 @@ export class PostgreSQLEngine extends BaseEngine {
|
|
|
405
398
|
// Get current pg_dump path with version validation
|
|
406
399
|
const { path, versionMismatch, cachedVersion, actualVersion } = await configManager.getBinaryPathWithVersionCheck('pg_dump');
|
|
407
400
|
if (!path) {
|
|
408
|
-
throw new SpinDBError(ErrorCodes.DEPENDENCY_MISSING, 'pg_dump not found.
|
|
409
|
-
'Ubuntu/Debian: apt install postgresql-client');
|
|
401
|
+
throw new SpinDBError(ErrorCodes.DEPENDENCY_MISSING, 'pg_dump not found.', 'fatal', 'Download PostgreSQL binaries: spindb engines download postgresql');
|
|
410
402
|
}
|
|
411
403
|
if (versionMismatch) {
|
|
412
|
-
warnings.push(`pg_dump version changed: ${cachedVersion} -> ${actualVersion}
|
|
404
|
+
warnings.push(`pg_dump version changed on disk: ${cachedVersion} -> ${actualVersion}`);
|
|
413
405
|
}
|
|
414
406
|
// Check compatibility with remote database
|
|
415
407
|
let compatibility;
|
|
@@ -427,45 +419,19 @@ export class PostgreSQLEngine extends BaseEngine {
|
|
|
427
419
|
if (compatibility.compatible) {
|
|
428
420
|
return { path, switched: false, warnings };
|
|
429
421
|
}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
switched: false,
|
|
439
|
-
warnings,
|
|
440
|
-
};
|
|
441
|
-
}
|
|
442
|
-
// No alternative path available - fall through to VERSION_MISMATCH error
|
|
443
|
-
break;
|
|
444
|
-
case 'switch_homebrew':
|
|
445
|
-
if (compatibility.switchTarget) {
|
|
446
|
-
const switchResult = await switchHomebrewVersion(compatibility.switchTarget);
|
|
447
|
-
if (switchResult.success) {
|
|
448
|
-
// Refresh config cache after switching
|
|
449
|
-
await configManager.refreshBinaryWithVersion('pg_dump');
|
|
450
|
-
await configManager.refreshBinaryWithVersion('pg_restore');
|
|
451
|
-
await configManager.refreshBinaryWithVersion('psql');
|
|
452
|
-
const newPath = await configManager.getBinaryPath('pg_dump');
|
|
453
|
-
if (newPath) {
|
|
454
|
-
warnings.push(`Switched Homebrew from PostgreSQL ${switchResult.previousVersion} to ${switchResult.currentVersion}`);
|
|
455
|
-
return { path: newPath, switched: true, warnings };
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
}
|
|
459
|
-
// Switch failed or no target - fall through to VERSION_MISMATCH error
|
|
460
|
-
break;
|
|
461
|
-
case 'install':
|
|
462
|
-
// User needs to install manually - fall through to VERSION_MISMATCH error
|
|
463
|
-
break;
|
|
422
|
+
if (compatibility.requiredAction === 'use_bundled' &&
|
|
423
|
+
compatibility.alternativePath) {
|
|
424
|
+
warnings.push(`Using bundled PostgreSQL ${compatibility.targetMajor} pg_dump (remote DB is v${compatibility.remoteDbVersion.majorVersion})`);
|
|
425
|
+
return {
|
|
426
|
+
path: compatibility.alternativePath,
|
|
427
|
+
switched: false,
|
|
428
|
+
warnings,
|
|
429
|
+
};
|
|
464
430
|
}
|
|
465
|
-
//
|
|
431
|
+
// No bundled binary can read this server — tell the user to download one.
|
|
466
432
|
throw new SpinDBError(ErrorCodes.VERSION_MISMATCH, compatibility.error ||
|
|
467
|
-
`Your pg_dump version (${compatibility.localToolVersion.major}) cannot dump from PostgreSQL ${compatibility.remoteDbVersion.majorVersion}`, 'fatal', `
|
|
468
|
-
`
|
|
433
|
+
`Your pg_dump version (${compatibility.localToolVersion.major}) cannot dump from PostgreSQL ${compatibility.remoteDbVersion.majorVersion}`, 'fatal', `Download matching PostgreSQL client tools:\n` +
|
|
434
|
+
` spindb engines download postgresql ${compatibility.remoteDbVersion.majorVersion}`, { compatibility });
|
|
469
435
|
}
|
|
470
436
|
async connect(container, database) {
|
|
471
437
|
const { port } = container;
|