无法在postgresql中更改用户postgres的密码

我在pg_hba.conf中做了如下的input

当地所有的信任

但仍然

su postgres

不接受空白作为密码。 我无法运行psql或pg_ctl,原因与大多数文件属于postgres相同。

EDIT1

dhaval@ubuntu:~$ su -c "pg_ctl reload -D template1" Password: su: Authentication failure dhaval@ubuntu:~$ su -c psql Password: su: Authentication failure 

我给上面的根密码,但我想它期待“postgres”超级用户密码。 我没有相同的。 我需要重置它。

EDIT2

 dhaval@ubuntu:~$ sudo -i -u postgres [sudo] password for dhaval: postgres@ubuntu:~$ psql Welcome to psql 8.3.7, the PostgreSQL interactive terminal. 

以上采取了我postgreSQL命令提示符。 但是我还不确定为什么“信任”不起作用。

操作系统用户密码(当你尝试su时被要求的东西)与Postgres用户密码不同(当你把auth设置为trust pg_hba.conf时,你不需要这个密码)。

您需要为操作系统的postgres用户设置一个有效的操作系统密码,然后input该密码以获取该用户(或者从root用户到该用户,您不会被要求input密码)。

通常postgres 操作系统的用户密码在数据库初始化之后被locking,因为唯一需要作为postgres运行的是pg_ctl ,可以使用su -c从init脚本启动(以root身份运行,因此不需要密码)。

很可能你正在试图做'postgres'。 Ubuntu不允许非root用户切换到另一个用户。 所以你可能需要假定root然后su postgres。

要成为“根”,请尝试:

sudo su –

之后,尝试:

su postgres

这应该让你像操作系统所理解的'postgres'用户一样访问。

希望这可以帮助。

最好的Vishal Belsare