Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 密码赢了';安装后不能立即工作_Postgresql - Fatal编程技术网

Postgresql 密码赢了';安装后不能立即工作

Postgresql 密码赢了';安装后不能立即工作,postgresql,Postgresql,我刚刚在我的Windows计算机上安装了postgresql 9.3。在安装过程中,安装程序要求输入密码。我输入了密码,继续我的快乐之路。系统从未要求用户与此密码关联 然后,我在命令提示符下键入psql,以便开始使用DB。系统立即提示我输入密码。当我尝试输入安装过程中使用的密码时,出现以下错误: PS C:\Users\Nick>psql 密码: psql:致命:用户“Nick”的密码身份验证失败 这里有几个有趣的观点 密码显然不起作用 postgresql显然查看了安装它的Windows用户并

我刚刚在我的Windows计算机上安装了postgresql 9.3。在安装过程中,安装程序要求输入密码。我输入了密码,继续我的快乐之路。系统从未要求用户与此密码关联

然后,我在命令提示符下键入psql,以便开始使用DB。系统立即提示我输入密码。当我尝试输入安装过程中使用的密码时,出现以下错误:

PS C:\Users\Nick>psql 密码: psql:致命:用户“Nick”的密码身份验证失败

这里有几个有趣的观点

  • 密码显然不起作用
  • postgresql显然查看了安装它的Windows用户并为其创建了一个帐户。我想很酷吧。不过,我不确定这意味着什么
  • 那我该怎么登录呢

    谢谢大家!

    postgresql显然查看了安装它的Windows用户并为其创建了一个帐户。我想很酷吧。不过,我不确定这意味着什么

    没有。一般来说,在使用密码身份验证时,PostgreSQL不会指示用户不存在。这是为了避免安全信息泄漏

    例如,在我的系统上:

    $ psql -h localhost -U chris2
    Password for user chris2: 
    psql: FATAL:  password authentication failed for user "chris2"
    $ psql -U chris2
    psql: FATAL:  role "chris2" does not exist
    

    这是因为在我的开发系统上,我有UNIX套接字的信任身份验证,所以不需要密码。默认情况下,创建的唯一帐户是“postgres”帐户。还创建了一个“postgres”数据库(用于在数据库创建期间连接到)。这就是您必须以的身份登录。

    您是否尝试过使用默认的
    postgres
    用户
    psql-U postgres
    如果所有其他操作都失败,只需编辑
    pg_hba.conf
    文件并将
    local
    指令设置为trust。这应该允许您使用任何帐户登录。(进入后别忘了恢复此更改)看起来postgres用户就是我在安装过程中设置密码的用户!非常感谢。我在