2012-09-24 248 views
11

我是PostgreSQL的noob。我在Windows7上安装了ver 9.2。在安装过程中,它询问密码,然后我输入密码。 现在,每当我运行d:\ tools \ PostgreSQL9.2 \ bin \ psql.exe时,它都会要求输入密码。当我输入密码,不接受和 显示“密码验证失败的用户‘user1的’。我已经重新安装了两次了。此外,我试图进入我的系统 密码。psql.exe - Windows验证密码失败

我想得到下面的命令,以避免

psql.exe -f db/codedb.sql development 

我应该怎么做才能得到这个工作?

回答

19

尝试连接时设置的用户名。

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

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

要添加其他用户和数据库,只需连接到在Postgres的Postgres数据库,并做一些事情,如:

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

如果你的机器是安全的,你可能也想建立一个password file

+0

谢谢,但我收到一条警告消息:“额外的命令行争论ment somefile.sql ignored“ 由于这个sql文件没有导入 – user1184100

+0

如果任何参数中有空格,你需要引用它们”像这样“,否则它应该工作得很好。 –

+0

我试过psql.exe -U postgres -d开发“d:\ myprojects \ ruby​​ \ HelloWorld \ db \ data.sql”仍然收到消息被忽略的额外命令行参数... – user1184100

5

变化在pg_hba.conf中使用“trust”而不是“md5”来连接数据库并更改密码。

--------------------configuration in pg_hba.conf--------------- 
    local all   all        trust 
    local all   postgres       trust   
    host all   all   ::1/128    trust 
+1

Thank you!This worked。 – smoore4

2

下面是安装PostgreSQL的简单的解决方案没有得到错误(群错误和验证错误),我按照下面的步骤和我安装的PostgreSQL成功地

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

  2. 将postrgresql(.exe)应用程序复制到任何目录(非'C')并单击要安装的应用程序(不要忘记变化您已将上面的应用程序文件复制到的安装目录)。

  3. 低于postgresql.conf中和pg_hba.cof配置installaion变化完成后

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