如何在 Mac OS X 上重置 Postgres 超级用户密码

如何在 Mac OS X 上重置 Postgres 超级用户密码

我在运行 10.6.8 的 Mac 上安装了 postgres,我想重置 postgres 用户的密码(我相信这是超级用户密码),然后重新启动它。

我找到的所有指示都不起作用,因为我认为 pg 无法识别我的用户名,无法更改密码。(我使用的是 Mac 的管理员帐户)

以下是我尝试过的:

Larson-2:~ larson$ psql -U postgres
Password for user postgres: 
psql (9.0.4, server 9.1.2)
WARNING: psql version 9.0, server version 9.1.
         Some psql features might not work.
Type "help" for help.

postgres=# ALTER USER postgres with password 'mypassword'
postgres-# \q

并重新启动我做了:

Larson-2:~ larson$ su postgres -c 'pg_ctl -D /opt/local/var/db/postgresql84/defaultdb/ restart
> 

这不起作用,因为密码与以前相同。有人可以提供如何执行此操作并确保 PG 能够识别它的说明吗?

更新

我继续编辑pg_hba.conf位于的文件/Library/PostgreSQL/9.1/data并设置如下设置:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

但是,和以前一样,我更改密码后密码仍然保持不变。我不确定接下来我可以采取什么措施。

答案1

您需要“加密密码”,

ALTER USER postgres WITH ENCRYPTED PASSWORD 'password';

现在,在pg_hba.conf

local   all             all                                     md5
host    all             all             127.0.0.1/32            md5

相关内容