From 24492e1b030322b7f3ac83f7ade1f416e02883ba Mon Sep 17 00:00:00 2001 From: "claude[bot]" <209825114+claude[bot]@users.noreply.github.com> Date: Sat, 28 Jun 2025 06:40:03 +0000 Subject: [PATCH] fix: configure socket directory for temporary PostgreSQL instance - Add unix_socket_directories parameter when starting temporary PostgreSQL - Prevents permission denied errors by using user-local socket directory - Fixes lock file creation issues in /var/run/postgresql/ Resolves #41 Co-authored-by: Samuel --- src/instance/manager.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/instance/manager.ts b/src/instance/manager.ts index 61ef3fe..5b7db29 100644 --- a/src/instance/manager.ts +++ b/src/instance/manager.ts @@ -231,11 +231,13 @@ export class InstanceManager { console.log(`PostgreSQL binary: ${postgresPath}`); console.log(`Data directory: ${config.spec.storage.dataDirectory}`); - // Start PostgreSQL in background + // Start PostgreSQL in background with user-local socket directory + const socketDirectory = join(config.spec.storage.dataDirectory, 'sockets'); const tempProcess = spawn(postgresPath, [ '-D', config.spec.storage.dataDirectory, '-p', config.spec.network.port.toString(), '-c', 'listen_addresses=127.0.0.1', + '-c', `unix_socket_directories=${socketDirectory}`, ], { detached: false, stdio: ['ignore', 'pipe', 'pipe'], // Capture stdout and stderr for debugging