我正在设置PostgreSQL 9.1.我不能用PostgreSQL做任何事情:不能createdb,不能createuser;所有操作都会返回错误消息

Fatal: role h9uest does not exist

h9uest是我的帐户名,我在这个帐户下使用了sudo apt-get install PostgreSQL 9.1

推荐答案

使用operating system user postgres创建数据库——只要您没有设置database角色,并且该角色具有与同名操作系统用户对应的必要权限(在您的情况下为h9uest):

sudo -u postgres -i

建议herehere.

然后再试一次.使用操作系统用户postgres时键入exit.

Orpostgressudo的形式执行单个命令createuser,就像另一个答案中的demonstrated by drees一样.

关键是使用操作系统用户匹配相同名称的数据库角色,以便通过ident authentication获得访问权限.postgres是初始化数据库集群的默认操作系统用户.The manual:

为了 bootstrap 数据库系统,一个新初始化的

我听说过使用非标准用户名或操作系统用户不存在的奇怪设置.你需要调整你在那里的策略.

阅读手册中的database rolesclient authentication.

Postgresql相关问答推荐

Qt,PostgreSQL -从NUERIC列检索max int64_t/uint64_t值

Trunc函数不删除小数

利用PostgreSQL查询中表的顺序来计算包含每次时间的时间范围

列索引8上的扫描错误,名称已复制:不支持扫描,正在存储驱动程序.值类型[]uint8到类型*[]*bool

使用postgres在go测试容器中使用tern迁移

PostgreSQL - 继承表的常见自动增量

替代在 PostgreSQL 函数中嵌套正则表达式替换?

计算 PostgreSQL 中给定 GPS 坐标的日出和日落时间

等效于 Postgresql 中的 FOUND_ROWS() 函数

错误:syntax error at or near "user"

Select 空字段

PostgreSQL:将时间戳转换为时间 - 或仅从时间戳列中检索时间

H2 postgresql mode模式似乎不起作用

Redis 可以写出到像 PostgreSQL 这样的数据库吗?

Rails:PG :: InsufficientPrivilege:错误:permission denied for relation schema_migrations

你如何在postgresql中做mysqldump?

使用枚举与布尔值?

SQL 基本类型:integer vs int?

Windows 上的 GeoDjango:Could not find the GDAL library" / "OSError: [WinError 126] The specified module could not be found

避免通过 JPA 将null值插入数据库表