致命:用户“的密码身份验证失败”;博士后;(带pgAdmin 4的postgresql 11)

致命:用户“的密码身份验证失败”;博士后;(带pgAdmin 4的postgresql 11),postgresql,pgadmin-4,postgresql-11,Postgresql,Pgadmin 4,Postgresql 11,我最近安装了Postgresql 11,在安装过程中,没有为Postgres输入密码和用户名的步骤。现在在pgAdmin 4中,我想将数据库连接到服务器,它要求我输入密码,但我没有首先输入任何密码。 谁都知道发生了什么。谢谢大家! PostgreSQL的默认身份验证模式设置为ident 您可以通过pgAdmin->Files->open pgpass.conf 这将为您提供窗口底部的pgpass.conf路径() 知道位置后,您可以打开此文件并根据自己的喜好进行编辑 如果这不起作用,您可以:

我最近安装了Postgresql 11,在安装过程中,没有为Postgres输入密码和用户名的步骤。现在在pgAdmin 4中,我想将数据库连接到服务器,它要求我输入密码,但我没有首先输入任何密码。
谁都知道发生了什么。谢谢大家!

PostgreSQL的默认身份验证模式设置为ident

您可以通过
pgAdmin->Files->open pgpass.conf

这将为您提供窗口底部的
pgpass.conf
路径()

知道位置后,您可以打开此文件并根据自己的喜好进行编辑

如果这不起作用,您可以:

  • 查找您的
    pg_hba.conf
    ,通常位于
    C:\Program Files\PostgreSQL\9.1\data\pg_hba.conf

  • 如有必要,请对其设置权限,以便您可以对其进行修改。在您使用“属性”对话框中的“安全性”选项卡并通过使用管理覆盖为自己授予该权限之前,您的用户帐户可能无法执行此操作

  • 或者,在开始菜单中找到
    notepad
    notepad++
    ,右键单击,选择“以管理员身份运行”,然后使用
    File->Open
    以这种方式打开
    pg_hba.conf

  • 编辑它以将主机“127.0.0.1/32”上用户“postgres”的“主机”行设置为“信任”。如果不存在,可以添加该行;只需在任何其他行之前插入
    hostallpostgres127.0.0.1/32trust
    。(可以忽略注释,以#开头的行)

  • 从服务控制面板(
    start->run->Services.msc
    )重新启动PostgreSQL服务

  • 使用
    psql
    或pgAdmin4或任何您喜欢的工具进行连接

  • 运行
    ALTER USER postgres密码'fooBarEatsBarFoodBareFoot'

  • 删除添加到pg_hba.conf的行或将其更改回原来的行

  • 重新启动PostgreSQL以使更改生效

下面是
pg_hba.conf
文件的示例(方法已设置为信任):


注意:请记住在更改密码(如上所述)后将方法更改回
md5
或列出的其他身份验证方法。

如果您正在使用pgAdmin4并且在更新密码时遇到错误,请执行以下步骤:

1] 打开文件“pg_hba.conf”并查找“IPv4本地连接”

2] 请参阅“方法”列下的值,它必须设置为“md5”,因为您在安装时选择了它

3] 将“md5”值设为空并保存文件。重新启动pgAdmin4应用程序

4] 现在再次将该值设置回“md5”,并在pgAdmin应用程序中输入密码


你应该能够成功地做到这一点

我知道这是一个老问题,但我也遇到了同样的问题,例如,在安装Postgresql 11的过程中,没有为Postgres设置密码的对话框


我没有执行其他答案中建议的所有文件操作,而是删除了Postgresql 11并安装了Postgresql 12,在安装过程中提示我设置密码。

注意:创建用户与创建角色相同,只是它意味着登录

$ psql postgres
postgres=# create user postgres with superuser password 'postgres';

对于Windows变体-我也经历了这个讨厌的错误,因为我的Windows x64安装版本9.2的pgAdmin。这使我的生产陷于瘫痪

在文件夹C:\Program Files\PostgreSQL\9.2\data或C:\Program Files(x86)\PostgreSQL\9.x\data中,可以找到pg_hba.conf文本文件

查找以下行:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
将方法md5更改为“信任”,如下所示:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
从Windows>运行类型“services.msc”,然后输入find找到正确的PostgreSQL实例并重新启动它

你的数据库安全现在被炸开了!注意警告,将所有相关用户的用户密码到期时间更改为2099年后,将其返回md5。

  • 登录到PgAdmin4

  • 对象>创建>登录/组角色
  • 创建在psql终端中命名的“用户名”
  • 创建密码
  • 给它所有的权利
  • 拯救
  • 请立即在psql终端中尝试密码
这对我有用


希望这对您有用。

更改默认使用的密码
使用密码“new_PASSWORD”更改用户帖子

您可以首次使用“超级用户”密码


之后,您可以使用Object>Create>Login/Group角色更改“postgres”用户的密码。

尝试使用
psql-U postgres
如果您在安装此命令时输入了密码,则必须使用此命令。谢谢:)

我现在有一个负责人来解决这个案子。一位朋友帮助我,我决定在这里发布我的解决方案

  • 在任何文本编辑器中打开pg_hba.conf(您可以在postgres安装文件夹>数据中找到此文件)
  • 将所有方法字段更改为信任(意味着postgre不需要密码)
  • 在控制台中运行此命令:“使用密码“[my password]”更改用户postgres;“| psql-U postgres(意味着将用户的[my password]的某些用户密码更改为参数-U postgres)
  • 等等(别忘了把信任的方法改回最适合你的方法)

  • 我希望有一天这会对某些人有所帮助。

    来自文档:默认情况下,安装PostgreSQL时,还会添加一个postgres用户。许多人问的第一个问题是,“用户postgres的默认密码是什么?”答案很简单……没有默认密码。PostgreSQL的默认身份验证模式设置为Identity谢谢,您能告诉我更多关于PostgreSQL的默认身份验证模式的信息,或者我可以使用的任何参考资料吗。-@你的操作系统是什么?操作系统:Windows 10请看我的答案,然后让我
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            trust
    # IPv6 local connections:
    host    all             all             ::1/128                 trust