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.
@@ -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.find((c) => {
199
- // Port must match
200
- if (targetPort !== undefined && c.port !== targetPort) {
201
- return false;
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":"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"}
1
+ {"version":3,"file":"which.js","sourceRoot":"","sources":["../../../cli/commands/which.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  // Auto-generated — do not edit manually
2
- export const VERSION = '0.47.18';
2
+ export const VERSION = '0.48.1';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../config/version.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAA"}
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
- 'Install PostgreSQL client tools:\n' +
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
- `Either download PostgreSQL binaries with 'spindb create --engine postgresql --version ${majorVersion}' ` +
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,yFAAyF,YAAY,IAAI;QACzG,uCAAuC;QACvC,0DAA0D;QAC1D,oDAAoD;QACpD,mEAAmE,CACtE,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAA0B,EAC1B,UAAkB,EAClB,OAAsB;IAEtB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,SAAS,CAAA;IACzC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAEpC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAA;IAC/C,MAAM,UAAU,GAAG,MAAM,eAAe,CACtC,IAAI,EACJ,MAAM,CAAC,UAAU,EACjB,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CACtC,CAAA;IACD,MAAM,IAAI,GAAG,UAAU,EAAE,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAA;IAEvD,8CAA8C;IAC9C,MAAM,UAAU,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IAEnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,WAAW;YACX,IAAI;YACJ,MAAM,CAAC,IAAI,CAAC;YACZ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,QAAQ;YACR,UAAU;YACV,IAAI;YACJ,UAAU;SACX,CAAA;QAED,MAAM,YAAY,GAAiB;YACjC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,GAAG,EAAE,UAAU,EAAE,QAAQ;gBACvB,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;gBACrD,CAAC,CAAC,OAAO,CAAC,GAAG;YACf,GAAG,sBAAsB,EAAE;SAC5B,CAAA;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;QAElD,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACvC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAC9C,MAAM,CAAC,GAAG,CAAC,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC9B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,gBAAgB;gBAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAA;gBACpC,OAAO,CAAC;oBACN,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;oBAC3C,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,MAAM,IAAI,4BAA4B,IAAI,EAAE,CAAA;gBACjE,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;YACjC,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
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. Install PostgreSQL client tools:\n' +
368
- ' macOS: brew install libpq && brew link --force libpq\n' +
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. Install PostgreSQL client tools:\n' +
378
- ' macOS: brew install libpq && brew link --force libpq\n' +
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. Install PostgreSQL client tools:\n' +
388
- ' macOS: brew install libpq && brew link --force libpq\n' +
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. Install PostgreSQL client tools.', 'fatal', 'macOS: brew install postgresql@17 && brew link --overwrite postgresql@17\n' +
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} (Homebrew link changed)`);
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
- // Handle incompatibility based on required action
431
- // All cases that don't return will fall through to VERSION_MISMATCH error below
432
- switch (compatibility.requiredAction) {
433
- case 'use_direct_path':
434
- if (compatibility.alternativePath) {
435
- warnings.push(`Using PostgreSQL ${compatibility.switchTarget} pg_dump (remote DB is v${compatibility.remoteDbVersion.majorVersion})`);
436
- return {
437
- path: compatibility.alternativePath,
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
- // Cannot auto-fix - throw error with install instructions
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', `Install PostgreSQL ${compatibility.remoteDbVersion.majorVersion} client tools:\n` +
468
- ` brew install postgresql@${compatibility.remoteDbVersion.majorVersion}`, { compatibility });
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;