postgresql 无法登录到系统用户postgres

tct7dpnv  于 2023-05-28  发布在  PostgreSQL
关注(0)|答案(5)|浏览(278)

我用brew在mac上安装了postgresql。在安装过程中,我没有被问到postgresql的密码。现在我需要创建一个用户,但不能:

Alexs-MacBook-Air:mydir alex$ su - postgres
Password:
su: Sorry

无论我使用什么密码(包括空密码),都是错误的。重置它最简单的方法是什么?

0ve6wy6x

0ve6wy6x1#

我用brew在mac上安装了postgresql。在安装过程中,我没有被问到postgresql的密码。
这很正常,因为brew不需要或创建任何postgres帐户。PostgreSQL进程在您自己的帐户下运行。到目前为止,其他三个答案在这方面都是错误的。
有关信息,请参见brew info postgres的输出。
要创建新的数据库帐户,您可以从自己的操作系统帐户启动:
/usr/local/bin/createdb someusername
在psql中:
/usr/local/bin/psql -d postgres
然后作为SQL命令:CREATE USER someusername PASSWORD 'somepassword';
这应该可以工作,因为brew通常在initdb时间创建:

  • 一个数据库超级用户帐户,与您的操作系统帐户具有相同的登录名(在您的情况下似乎是alex
  • 名为postgres的数据库,可用于记录管理任务(如创建用户)的信息。

使用完整路径/usr/local/bin的目的是访问brew提供的命令,而不是系统附带的位于/usr/bin中的同名命令,或者可能由其他PostgreSQL提供程序安装的同名命令,例如postgres.app或macports或entreprisedb。在Mac OS X上安装postgresql有5-6种相互竞争和不兼容的方法。
编辑:MacOS X桌面版的新版本不再预装postgres客户端命令。至少从MacOS X 10.10(约塞米蒂)和可能的10.9开始,情况似乎就是这样。

tez616oj

tez616oj2#

您正在尝试访问名为postgressystem 用户。根据您在其他答案上留下的评论,没有这样的用户。您无法更改不存在的用户的密码。
可能是_postgrespostgres_?我知道OS X上的一些安装程序使用奇怪的名称。或者您的安装程序一开始就没有成功地在系统上创建postgres用户,所以您不能为它设置密码?
一般情况下,您 * 永远不需要为此用户 * 设置密码。你可以

sudo -u postgres psql

或者以postgres超级用户身份运行的任何命令。
请注意,you shouldn't need su用于任何内容。

llew8vvj

llew8vvj3#

没有默认密码。要以用户postgres的身份运行shell,请使用(as advised by Craig):

sudo -u postgres -i

完成后键入exit。参见:

  • PostgreSQL错误:致命:角色“用户名”不存在

事实证明,用户根本没有创建。看看丹尼尔的回答。

kgsdhlau

kgsdhlau4#

为什么不:

sudo passwd postgres

这将提示您输入当前帐户的密码。然后,它会要求您输入postgres用户的新密码(两次)。

camsedfj

camsedfj5#

我是Nura,在我安装了postgresql与homebrew在macOS Catalina MBP 13英寸2012年中期,我得到了与先生相同的错误。Incerteza.我用不同的方法解决了它,当我得到的错误,我跑了

  1. brew服务启动postgresql@14
    1./usr/local/bin/psql -d postgres
    然后终端数据库已打开。

相关问题