{"record":{"id":"b32f8322fb459fa6","repo":"paperclipai/paperclip","slug":"embedded-postgresql-mode-requires-dependency-embe","errorCode":null,"errorMessage":"Embedded PostgreSQL mode requires dependency `embedded-postgres`. Reinstall dependencies (without omitting required packages), or set DATABASE_URL for external Postgres.","messagePattern":"Embedded PostgreSQL mode requires dependency `embedded-postgres`\\. Reinstall dependencies \\(without omitting required packages\\), or set DATABASE_URL for external Postgres\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"server/src/index.ts","lineNumber":432,"sourceCode":"  let startupDbInfo:\n    | { mode: \"external-postgres\"; connectionString: string }\n    | { mode: \"embedded-postgres\"; dataDir: string; port: number };\n  assertCloudDatabaseContract();\n  if (config.databaseUrl) {\n    const migrationUrl = config.databaseMigrationUrl ?? config.databaseUrl;\n    migrationSummary = await ensureMigrations(migrationUrl, \"PostgreSQL\");\n  \n    db = createDb(config.databaseUrl);\n    pluginMigrationDb = config.databaseMigrationUrl ? createDb(config.databaseMigrationUrl) : db;\n    logger.info(\"Using external PostgreSQL via DATABASE_URL/config\");\n    activeDatabaseConnectionString = config.databaseUrl;\n    startupDbInfo = { mode: \"external-postgres\", connectionString: config.databaseUrl };\n  } else {\n    const moduleName = \"embedded-postgres\";\n    let EmbeddedPostgres: EmbeddedPostgresCtor;\n    try {\n      // embedded-postgres registers async-exit-hook handlers as an import side\n      // effect. Those handlers stop PostgreSQL immediately on SIGINT/SIGTERM,\n      // racing Paperclip's later heartbeat snapshot query. Paperclip explicitly\n      // stops the managed cluster in its own ordered shutdown path instead.\n      const mod = await loadWithoutCoordinatedShutdownSignalHooks(\n        () => import(moduleName),\n      );\n      EmbeddedPostgres = mod.default as EmbeddedPostgresCtor;\n    } catch {\n      throw new Error(\n        \"Embedded PostgreSQL mode requires dependency `embedded-postgres`. Reinstall dependencies (without omitting required packages), or set DATABASE_URL for external Postgres.\",\n      );\n    }\n    await prepareEmbeddedPostgresNativeRuntime();\n  \n    const dataDir = resolve(config.embeddedPostgresDataDir);\n    const configuredPort = config.embeddedPostgresPort;\n    let port = configuredPort;\n    const logBuffer = createEmbeddedPostgresLogBuffer(120);\n    const verboseEmbeddedPostgresLogs = process.env.PAPERCLIP_EMBEDDED_POSTGRES_VERBOSE === \"true\";","sourceCodeStart":414,"sourceCodeEnd":450,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/index.ts#L414-L450","documentation":"Error \"Embedded PostgreSQL mode requires dependency `embedded-postgres`. Reinstall dependencies (without omitting required packages), or set DATABASE_URL for external Postgres.\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at server/src/index.ts:359 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reinstall dependencies without omitting required packages so embedded-postgres is present.","Set DATABASE_URL to use an external Postgres instead of embedded mode."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}