我已经安装了postgres 8.3,我在安装时输入test作为密码...我的问题是每次我尝试访问本地数据库...每次我输入密码...它说数据库连接失败...我试图通过命令行更改密码,但它不起作用...甚至试图更改配置文件...它不起作用...有什么办法让我来制作数据库工作?谢谢你的回复...
答案 0 :(得分:1)
通常人们无法使用密码连接到postgres,因为默认情况下它配置为对本地连接使用ident身份验证。尝试切换到postgres系统帐户并使用该用户名连接。如果您在没有密码的情况下进入,则会为ident配置。您还可以在pg_hba.conf中检查身份验证方法。
如果要切换到使用本地连接的密码,可以修改pg_hba.conf中的设置。在文件的底部有一个这样的部分:
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database
# super user can access the database using some other method.
# Noninteractive
# access to all databases is required during automatic maintenance
# (autovacuum, daily cronjob, replication, and similar tasks).
#
# Database administrative login by UNIX sockets
local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5 #ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
您可以在第二个“本地”行看到我已将我的设置更改为使用md5身份验证而不是ident sameuser。这允许我使用正确的密码从我的系统帐户以任何数据库用户身份登录。如果您进行相同的更改并重新启动可能解决问题的postgres。
小心不要更改第一个“本地”行。 postgres用户是超级用户,如果您更改了该身份验证机制,则可能无法进入。
答案 1 :(得分:0)
除了关于编辑pg_hba.conf的评论之外,我还必须为自己设置密码,就像在这个帖子中一样
http://ubuntuforums.org/showthread.php?t=388632
使用
ALTER USER postgres WITH ENCRYPTED PASSWORD 'yourhardtoguesspassword';