UnhandledPromiseRejectionWarning: error: permission denied for table

UnhandledPromiseRejectionWarning: error: permission denied for table

我正在构建一个使用 node-pg 与 postgres 数据库交互的节点快速 Web 应用程序。在我的本地环境中,一切 运行 都很好,但是当我从另一台机器上的 github 中提取项目并尝试 运行 时,我收到以下错误: (node:445) UnhandledPromiseRejectionWarning: error: permission denied for table <some table>

我不确定为什么会收到此错误,因为我使用与本地环境相同的凭据连接到同一个数据库,并且我已尝试确保通过使用授予适当的权限命令 GRANT ALL PRIVILEGES ON TABLE <some table> TO postgres; 然后重新启动数据库服务。

我是否遗漏了什么或者我将如何解决这个问题?

虽然我无法针对您的连接问题提出全面的修复建议,但我们可以通过逐字处理 Promise 拒绝来修复 UnhandledPromiseRejectionWarning

try {
  // connect to pg
}
catch(e) {
  console.error(e)
  // Probably if you can't connect to the DB at all that's an unrecoverable problem.
  // I'd log whatever useful stats about the running application as you can and then maybe just end the process.
  process.exit(1)
}

Note the docs for process.exit() 但是,“这意味着任何挂起的回调、任何仍在发送的网络请求、任何文件系统访问或写入 stdout 或 stderr 的进程——所有这些都将立即被不正常地终止”这对您来说可能是问题,也可能不是问题。