我正在设置PostgreSQL 9.1.我不能用PostgreSQL做任何事情:不能createdb
,不能createuser
;所有操作都会返回错误消息
Fatal: role h9uest does not exist
h9uest
是我的帐户名,我在这个帐户下使用了sudo apt-get install
PostgreSQL 9.1
我正在设置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
然后再试一次.使用操作系统用户postgres
时键入exit
.
Or以postgres
加sudo
的形式执行单个命令createuser
,就像另一个答案中的demonstrated by drees一样.
关键是使用操作系统用户匹配相同名称的数据库角色,以便通过ident
authentication获得访问权限.postgres
是初始化数据库集群的默认操作系统用户.The manual:
为了 bootstrap 数据库系统,一个新初始化的
我听说过使用非标准用户名或操作系统用户不存在的奇怪设置.你需要调整你在那里的策略.