{"record":{"id":"3fa47759781d2054","repo":"paperclipai/paperclip","slug":"psql-did-not-expose-stdin","errorCode":null,"errorMessage":"psql did not expose stdin","messagePattern":"psql did not expose stdin","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/db/src/backup-lib.ts","lineNumber":375,"sourceCode":"  const child = spawn(\n    psqlBin,\n    [\n      `--dbname=${opts.connectionString}`,\n      \"--set=ON_ERROR_STOP=1\",\n      \"--quiet\",\n      \"--no-psqlrc\",\n    ],\n    {\n      stdio: [\"pipe\", \"ignore\", \"pipe\"],\n      env: {\n        ...process.env,\n        PGCONNECT_TIMEOUT: String(connectTimeout),\n      },\n    },\n  );\n\n  if (!child.stdin) {\n    throw new Error(\"psql did not expose stdin\");\n  }\n\n  const input = opts.backupFile.endsWith(\".gz\")\n    ? createReadStream(opts.backupFile).pipe(createGunzip())\n    : createReadStream(opts.backupFile);\n\n  await Promise.all([\n    pipeline(input, child.stdin),\n    waitForChildExit(child, psqlBin),\n  ]);\n}\n\nasync function hasStatementBreakpoints(backupFile: string): Promise<boolean> {\n  const raw = createReadStream(backupFile);\n  const stream = backupFile.endsWith(\".gz\") ? raw.pipe(createGunzip()) : raw;\n  let text = \"\";\n\n  try {","sourceCodeStart":357,"sourceCodeEnd":393,"githubUrl":"https://github.com/paperclipai/paperclip/blob/120ae5428fa29bee300bcf806491cd4d965fbb7c/packages/db/src/backup-lib.ts#L357-L393","documentation":"Error \"psql did not expose stdin\" thrown in paperclipai/paperclip.","triggerScenarios":"Thrown at packages/db/src/backup-lib.ts:375 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check psql installation and retry; stdin pipe was unavailable.","Verify spawn stdio configuration for psql."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"120ae5428fa29bee300bcf806491cd4d965fbb7c","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}