19

我是 PostgreSQL 的菜鸟。我在 windows7 上安装了 9.2 版。在安装过程中它要求输入密码,我输入了它。现在,每当我运行 d:\tools\PostgreSQL9.2\bin\psql.exe 时,它​​都会要求输入密码。当我输入它不接受的密码时,它显示“用户“user1”的密码验证失败。我已经重新安装了两次。我也尝试输入我的系统密码。

我正在尝试使以下命令正常工作

psql.exe -f db/codedb.sql development

我应该怎么做才能让它工作?

4

3 回答 3

30

连接时尝试设置用户名。

psql.exe -U username -d dbname -f somefile.sql

您可能在安装过​​程中设置了默认的“postgres”用户。不确定您是否创建了其他任何人。

要添加其他用户和数据库,只需作为 postgres 连接到 postgres 数据库并执行以下操作:

CREATE USER myuser WITH ENCRYPTED PASSWORD 'secret';
CREATE DATABASE mydb OWNER myuser;

如果您的机器是安全的,您可能还想设置一个密码文件

于 2012-09-24T11:27:13.503 回答
15

在 pg_hba.conf 中更改“trust”而不是“md5”以连接到数据库并更改您的密码。

    --------------------configuration in pg_hba.conf---------------
    local   all         all                               trust  
    local   all         postgres                          trust          
    host    all         all         ::1/128               trust
于 2012-09-24T11:41:02.680 回答
2

这是安装 Postgresql 而不会出现错误(集群错误和身份验证错误)的简单解决方案,我按照以下步骤操作,并且成功安装了 postgresql

  1. 从控制面板->用户帐户在Windows中创建新用户

  2. 登录到新用户(你已经创建)后,将 postrgresql(.exe) 应用程序复制到任何目录('C' 除外)并单击要安装的应用程序(不要忘记更改你已将应用程序复制到的安装目录上面的文件)。

  3. 安装完成后更改 postgresql.conf 和 pg_hba.cof 中的以下配置

在你的下面添加如下postgresql.conf

listen_addresses = '*'  

在你的下面添加如下pg_hba.cof

# IPv4 local connections:
host     all     all     127.0.0.1/32    trust
# IPv6 local connections:
host     all     all     ::1/128     trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
# host   sameuser    postgres    127.0.0.1/32    trust
#host    replication     postgres        ::1/128                 md5 
于 2014-09-30T08:03:43.720 回答