我试图将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/psql或createuser我被要求input一个密码,然后input: psql.bin: FATAL: password authentication failed for user "myusername"
问题 :如何让psql和createuser工作?
附加信息
我的./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
首先,postgres用户和你的操作系统用户是不一样的,除了默认。
除非你在你的计算机上创build一个实际的postgres系统帐户,否则你需要编辑你的pg_hba.conf文件并设置你的validation方法。 默认应该有一个类似的行
local all postgres peer
这告诉它让postgres超级用户在本地login,如果运行psql的用户使用同样名为postgres的操作系统帐户。 如果你改变trust那么它将允许任何人使用psql -U postgres本地login。 一旦你可以连接,你就可以创build其他用户的密码。
一旦设置好了,为了安全起见,你应该在postgres用户上设置一个密码,然后把trust改为md5来要求密码连接。
你应该发出psql命令作为amministrative用户,这是默认的postgres : sudo -u postgres psql postgres
(假设您将postgres目录添加到您的path中,或者sudo -u postgres ./postgresql-9.3/bin/psql postgres )
一旦你在psql控制台, \password postgres并input你的新密码