不存在”,怎么办?"/>
错误“角色...不存在”,怎么办?
如何解决以下错误?我正在尝试使用 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
。永远不要在你的应用程序中使用超级用户。
更多推荐
错误“角色...不存在”,怎么办?
发布评论