postgresql 密码验证失败为用户“postgres”在mac上

iqjalb3h  于 2023-04-05  发布在  PostgreSQL
关注(0)|答案(6)|浏览(243)

我有问题创建新的psql用户,因为我不能登录psql作为“postgres”,我已经尝试

1. sudo -u postgres psql

2. sudo -u postgres createuser img_site -P -s -e

他们都要求密码“postgres”,我不知道.我已经尝试更改用户的unix密码“postgres”(我知道这是危险的),它仍然告诉我:密码验证失败的用户“postgres”.我也尝试了GUI pgAdmin,但它是相同的错误.
我不知道是否有关系:我创建了一个符号链接

sudo ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/

为了消 debugging 误

createuser: could not connect to database postgres: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
bihw5rsg

bihw5rsg1#

检查pg_hba.conf。它应该在顶部(在所有其他条目之前)有这样一行:

local   all             postgres                                peer

这允许postgres数据库用户对所有数据库进行本地Unix域套接字访问,无需密码。
现在清除并重新定义postgres系统用户的密码(在PostgreSQL安装过程中自动创建):

sudo passwd -d postrges
sudo su postgres -c passed

这个用户帐户的特殊之处在于postgres服务器允许它连接到数据库,没有任何问题。
现在,要为postgres db用户定义一个显式密码,使用该密码可以通过本地Unix域套接字连接以外的其他方式登录,请运行:

su postgres -c psql template1
psql> ALTER USER postgres WITH PASSWORD '<password>';

在运行此命令之前,系统将要求您输入postgres系统用户帐户密码。成功完成后,键入\q退出psql shell,然后您就完成了为postgres db用户重置密码的操作。

ne5o7dgx

ne5o7dgx2#

sudo不需要您切换到的帐户的密码,它需要您切换 * 从 * 的帐户的密码。它还要求您是管理员(或在/etc/sudoers中列出)。另一方面,su需要您切换 * 到 * 的帐户的密码。

ldioqlga

ldioqlga3#

我试图为Ruby on Rails设置postgres,但由于用户错误,密码验证失败。请检查服务器是否实际运行:
pg_ctl -D /usr/local/var/postgres status
如果你得到
pg_ctl: no server running
快跑
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
你也必须在psql中包含localhost。
psql -U postgres -h localhost

ruarlubt

ruarlubt4#

这对我很有效:
ALTER USER my_user WITH PASSWORD 'my_password';

rdlzhqv9

rdlzhqv95#

我在我的Macbook上尝试了很多不同的技巧。这里是帮助我的一个。在屏幕上,右键单击PostgreSQL 14的“属性”,然后在“连接”选项卡尝试将端口号从5432更改为5433(或反之亦然)-〉保存。并尝试再次打开,密码使用“postgres”。应该工作

xmakbtuz

xmakbtuz6#

Posgres认证只是吸花2个小时,仍然无法连接到一个愚蠢的数据库。

相关问题