无法连接到数据库 postgres: FATAL: 角色 "_postgres" 不存在
努力 OS X 10.10, 安装了 postgreSQL 和 PostGIS
http://www.kyngchaos.com/software/postgres
, psql vers 9.3.5. 我很难强迫 postgreSQL 工作。
我将数据包安装为计算机上的管理员。 我的用户名
登录的唯一方法是通过:
我想创建一个名为的用户
, 如何在计算机上的管理员名称。
我试过了 /的 terminal, 不是 " 包括在 psql"/:
然后我读了一点和尝试过 /的 terminal, 不是 " 授权B. psql"/:
为什么不起作用?
http://www.kyngchaos.com/software/postgres
, psql vers 9.3.5. 我很难强迫 postgreSQL 工作。
我将数据包安装为计算机上的管理员。 我的用户名
christoph
登录的唯一方法是通过:
$ psql -U postgres
我想创建一个名为的用户
christoph
, 如何在计算机上的管理员名称。
我试过了 /的 terminal, 不是 " 包括在 psql"/:
$ sudo -u postgres createuser christoph
> sudo: unknown user: postgres
然后我读了一点和尝试过 /的 terminal, 不是 " 授权B. psql"/:
$ sudo -u _postgres createuser christoph
> Password: ****
> Could not connect to database postgres: FATAL: role "_postgres" does not exist
为什么不起作用?
没有找到相关结果
已邀请:
1 个回复
君笑尘
赞同来自:
或者
, 但不是 'postgres'. 我不用 OS X, 因此,我不知道是什么让他们这样做。 看起来他们想要遵守命名系统账户的方案。
不要混淆 Postgres DB /入口的作用/ 姓名
. 这种差异导致各种混乱。 至少人们开始意识到某些句法元素的不同含义 ...
这就是你可以进入的原因 Postgres 穿过:
- 这是一个角色 DB 这里,不是用户 OS.
但它不起作用:
因为没有用户 OS 用这个名字。 相反:
但是之后
http://www.postgresql.org/docs ... -PEER
仍然不起作用,因为没有 DB 用户具有相同的名称
. 相关答案:
https://coderoad.ru/21122598/
默认情况下,在标准设置中激活的身份验证方法是当本地系统上的系统用户无法访问与数据库角色的数据库角色时的对等基于对的身份验证。 这解释了最后一个错误消息:
您的系统试图进入 DB 与当前用户的名称相同 OS, 使用点对点身份验证,由于不合规而失败。
您的上一支球队应该这样工作:
添加
- 此选项
http://www.postgresql.org/docs ... .html
, 表明作用 DB 登录。
您还必须输入密码。 我会考虑使用进入的可能性
http://www.postgresql.org/docs ... .html
对于没有密码的访问,而系统用户与可能的相关角色不同 DB.
连接的:
https://coderoad.ru/13004297/
https://coderoad.ru/15359348/