我有问题创建新的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"?
6条答案
按热度按时间bihw5rsg1#
检查
pg_hba.conf
。它应该在顶部(在所有其他条目之前)有这样一行:这允许
postgres
数据库用户对所有数据库进行本地Unix域套接字访问,无需密码。现在清除并重新定义
postgres
系统用户的密码(在PostgreSQL安装过程中自动创建):这个用户帐户的特殊之处在于postgres服务器允许它连接到数据库,没有任何问题。
现在,要为
postgres
db用户定义一个显式密码,使用该密码可以通过本地Unix域套接字连接以外的其他方式登录,请运行:在运行此命令之前,系统将要求您输入
postgres
系统用户帐户密码。成功完成后,键入\q
退出psql
shell,然后您就完成了为postgres
db用户重置密码的操作。ne5o7dgx2#
sudo
不需要您切换到的帐户的密码,它需要您切换 * 从 * 的帐户的密码。它还要求您是管理员(或在/etc/sudoers中列出)。另一方面,su
需要您切换 * 到 * 的帐户的密码。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
ruarlubt4#
这对我很有效:
ALTER USER my_user WITH PASSWORD 'my_password';
rdlzhqv95#
我在我的Macbook上尝试了很多不同的技巧。这里是帮助我的一个。在屏幕上,右键单击PostgreSQL 14的“属性”,然后在“连接”选项卡尝试将端口号从5432更改为5433(或反之亦然)-〉保存。并尝试再次打开,密码使用“postgres”。应该工作
xmakbtuz6#
Posgres认证只是吸花2个小时,仍然无法连接到一个愚蠢的数据库。