首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决“用户` `postgres`‘被拒绝在数据库`.public`上访问”;?

如何解决“用户` `postgres`‘被拒绝在数据库`.public`上访问”;?
EN

Stack Overflow用户
提问于 2022-02-06 17:12:48
回答 1查看 1.2K关注 0票数 0

我用prisma和node.js。

当我在docker容器中调用一些函数(例如prisma.users.findAll())时,我有错误User 'postgres' was denied access on the database 'my_db.public',但是如果我在本地运行,我没有任何问题。

但是,我的容器是成功的,但是当我用数据库调用任何函数时,我就出错了。

代码语言:javascript
复制
My docker file

FROM node:15.13.0

RUN mkdir -p /project/node_modules && chown -R node:node /project

WORKDIR /project

COPY package*.json ./
COPY --chown=node:node prisma ./prisma
COPY config ./config

RUN npm install
RUN npx prisma generate
RUN npx prisma db push --preview-feature

COPY --chown=node:node ./temp ./temp

COPY --chown=node:node . .

CMD [ "node", "index.js" ]

另外,我的db my_db | postgres | UTF8 | C.UTF-8 | C.UTF-8 | prisma设置DATABASE_URL=postgresql://postgres:password@172.17.0.1:5432/my_db?connect_timeout=300&connection_limit=150

EN

回答 1

Stack Overflow用户

发布于 2022-03-05 08:42:40

如果您可以通过在项目中运行这两个prisma命令中的任何一个获得相同的错误消息,

代码语言:javascript
复制
npx prisma db pull 
npx prisma generate

这意味着错误来自一个糟糕的DATABASE_URL值。

例如:用户应该是chris而不是postgres

代码语言:javascript
复制
// wrong user
DATABASE_URL="postgresql://postgres:passw@localhost:5432/dbname?schema=public"

// correct user
DATABASE_URL="postgresql://chris:passw@localhost:5432/dbname?schema=public"

确保您有正确的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71009640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档