最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

错误“角色...不存在”,怎么办?

网站源码admin33浏览0评论

错误“角色...不存在”,怎么办?

错误“角色...不存在”,怎么办?

如何解决以下错误?我正在尝试使用 NestJS 连接到 Postgres 数据库。我在

.env
文件中注册了一个 Postgres 用户,与我的 Linux 帐户名称不同,但 Postgres 正在尝试连接为我的 Linux 帐户。尽管如此,在 Postgres 中,我创建了“Stell”角色并赋予它超级用户权限。

    [[Nest] 18553 - 01.05.2023, 22:07:19 ERROR [Exception Handler] role "Stell" does not exist
error: role "Stell" does not exist
    in Parser.parser Error message (/home/Steel/Documents/WebStormProject/spotify/backend/node_modules/pg-protocol/src/parser.ts:369:69)
in Parser.handlePacket (/home/Steel/Documents/WebStormProject/spotify/backend/node_modules/pg-protocol/src/parser.ts:188:21)
in Parser.parse (/home/Steel/Documents/WebStormProject/spotify/backend/node_modules/pg-protocol/src/parser.ts:103:30)
    in the socket.<anonymous> (/home/Steel/Documents/WebStormProject/spotify/backend/node_modules/pg-protocol/src/index.ts:7:48)
in Socket.emit (node:events:513:28)
in addChunk (node:internal/threads/readable:324:12)
in readableAddChunk (node:internal/streams/readable:297:9)
in the socket.Readable.push (node:internal/streams/readable:234:10)
when reading TCP.on Stream (node:internal/stream_base_commons:190:23)

typeorm.module.ts

    import { Module } from '@nestjs/common';
import { TypeOrmModule as NestTypeOrmModule } from '@nestjs/typeorm';

@Module({
    imports: [
        NestTypeOrmModule.forRoot({
            type: 'postgres',
            host: process.env.DB_HOST,
            port: Number(process.env.DB_PORT),
            username: process.env.DB_USERNAME,
            password: process.env.DB_PASSWORD,
            database: process.env.DB_DATABASE,
            entities: ['dist/entities/**/*.entity.js'],
            synchronize: true,
        }),
    ],
})
export class TypeOrmModule {}
回答如下:

您没有创建角色

"Stell"
。 PostgreSQL 会将标识符折叠为小写,除非您将它们加双引号。所以尝试:

CREATE ROLE "Stell" LOGIN PASSWORD 'whatever';
GRANT CREATE ON DATABASE name_of_db TO "Stell";

摆脱你创建的用户,这可能是

stell
。永远不要在你的应用程序中使用超级用户。

发布评论

评论列表(0)

  1. 暂无评论