首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres用户不存在?

Postgres用户不存在?
EN

Stack Overflow用户
提问于 2014-01-15 03:47:41
回答 8查看 120.9K关注 0票数 100

我刚刚安装了Postgres,并且已经对它和各种配置进行了1-2个小时的修补。

由于无法更改为postgres用户,我被卡住了。

$ su - postgres会产生以下错误:su: unknown login: postgres

$ sudo -u postgres psql会产生以下错误:sudo: unknown user: postgres

这些尝试是以普通用户的身份进行的。以root用户身份尝试它们会得到完全相同的结果。我已经在OS X上通过Homebrew安装了postgres,并且我已经多次阅读了相关说明。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2014-01-15 04:21:16

psql:使用我的默认用户名登录

psql -U postgres:以postgres用户身份登录

对于我来说,Sudo似乎不是必需的。

我使用Postgres.app作为我的OS postgres数据库。它消除了确保安装正常以及数据库服务器正确启动的麻烦。点击这里查看:http://postgresapp.com

编辑:感谢@Erwin Brandstetter更正了我对参数的使用。

票数 100
EN

Stack Overflow用户

发布于 2015-09-19 04:47:46

通过psql --help,当您没有为数据库名称设置选项(没有-d选项)时,它将是您的用户名,如果您没有设置-U,则数据库用户名也将是您的用户名,依此类推。

但是通过initdb (创建第一个数据库)命令,它没有将您的用户名作为任何数据库名称。它有一个名为postgres的数据库。The first database is always created by the initdb command when the data storage area is initialized. This database is called postgres.

因此,如果您没有另一个名为您的用户名的数据库,则需要执行psql -d postgres才能使psql命令工作。而且它似乎在默认情况下提供了-d选项,psql postgres也可以工作。

如果您已经创建了与您的用户名相同的另一个数据库名称(应该使用createdb完成),那么您可以只使用psql命令。它似乎是brew设置为计算机用户名的第一个数据库用户名。

代码语言:javascript
复制
psql -d <first database name> -U <first database user name>

或,

代码语言:javascript
复制
psql -d postgres -U <your machine username>
psql -d postgres

将在默认情况下工作。

票数 29
EN

Stack Overflow用户

发布于 2014-01-15 10:56:02

OS倾向于以“_”作为系统帐户名的前缀;您没有说明您使用的是什么版本的OS,但至少在10.8和10.9中,_postgres用户存在于默认安装中。请注意,您将无法通过su连接到此帐户(除了以根用户身份),因为它没有密码。另一方面,sudo -u _postgres应该工作得很好。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21122598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档