PostgreSQL 密码问题与 psql

PostgreSQL 密码问题与 psql

我正在尝试将 PostgreSQL 安装到 CentOS 上(我通过 SSH 连接)。我需要解压一个包(因此不通过 yum 或 rpm 下载):http://get.enterprisedb.com/postgresql/postgresql-9.3.4-3-linux-x64-binaries.tar.gz并进行设置。

我解压并运行以下命令

./postgresql-9.3/bin/initdb -D data/
./postgresql-9.3/bin/postgres -D data/

当我尝试运行./postgresql-9.3/bin/psqlcreateuser系统要求输入密码并输入密码时,我得到: psql.bin: FATAL: password authentication failed for user "myusername"

问题:我该如何制作psqlcreateuser工作?

附加信息

./data/pg-hba.conf的如下:

local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust

postgres另外,系统中似乎没有用户,这是有道理的,因为我只是解压了 tar.gz

答案1

首先,除了默认情况下,postgres 用户和你的操作系统用户不是一回事。

除非您在计算机上创建实际的postgres系统帐户,否则您需要编辑pg_hba.conf文件并设置身份验证方法。默认应该有一行类似

local   all             postgres                                peer

postgres如果运行 psql 的人正在使用名为 的操作系统帐户,则告诉它让超级用户在本地登录postgres。如果您更改peertrust,则它将允许任何人使用 本地登录psql -U postgres。一旦您可以连接,您就可以使用他们的密码创建其他用户。

一旦设置完毕,为了安全起见,您应该为用户设置一个密码postgres,然后更改trustmd5需要密码才能连接。

答案2

您应该以管理用户的身份发出 psql 命令,这是postgres默认设置: sudo -u postgres psql postgres

(假设您已将 postgres 目录添加到您的路径中,或者sudo -u postgres ./postgresql-9.3/bin/psql postgres

进入 psql 控制台后,\password postgres输入新密码

相关内容