我在 10.7.3 上通过 homebrew 安装了 postgresql。安装似乎成功,我能够启动服务器。但是,当我尝试访问 psql 时,出现以下错误:
psql: FATAL: role "larson" does not exist
在这种情况下larson
是我的用户名。有人知道问题是什么以及我该怎么做才能解决它吗?
答案1
...可能是因为您从未在 Postgres 系统中创建过具有该名称的用户。
Postgres 有自己的内部用户身份验证和授权机制。
首次连接到 Postgres 时,您需要以配置数据库集群时设置的初始用户身份进行连接(通常此用户的名称与postgres
Postgrespgsql
守护程序在其下运行的(操作系统)用户相同)并创建更多用户(例如您的操作系统用户larson
)。
默认情况下,psql
尝试使用与启动应用程序的操作系统用户名相同的数据库用户名进行连接。
类似这样的命令psql -U pgsql .... [database name]
可能会让您进入。
这是你的第二个问题在非常基础postgres 基础知识。您真的需要花一些时间与文档你
应该读一下全部但如果这太令人畏惧,至少阅读(并跟随)所有内容第 1 章,非常出色的教程。
我对此绝对 100% 认真。PostgreSQL 项目是我判断的黄金标准其他所有开源项目的文档- 它的质量高于许多商业系统,并且确实告诉了您有关设置和管理 Postgres 服务器所需的一切信息。
现在就去阅读吧。我保证,当您回来时,服务器仍然在那里。
(仅供参考,这个确切的错误:FATAL: role "...." does not exist
提到了在教程中,以及有关如何首次登录 Postgres 和/或创建更多用户的更详细说明)。