我最近安装了Postgresql 11,在安装过程中,没有为Postgres输入密码和用户名的步骤.现在在pgAdmin 4中,我想将数据库连接到服务器,它要求我输入密码,但我没有首先输入任何密码.

推荐答案

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

你可以访问你的pgpass.确认通过pgAdmin -> Files -> open pgpass.conf

enter image description here

这将在窗口底部给出pgpass.conf的路径(official documentation).

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

If that doesn't work, you can:

  • 找到你的pg_hba.conf,通常位于C:\Program Files\PostgreSQL\9.1\data\pg_hba.conf以下

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

  • 或者,在"开始"菜单中找到notepadnotepad++,右键单击, Select "Run as administrator",然后使用File->Open以这种方式打开pg_hba.conf.

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

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

  • 使用psql或pgAdmin4或任何您喜欢的方式连接

  • ALTER USER postgres PASSWORD 'fooBarEatsBarFoodBareFoot'

  • 删除添加到pg_hba的线路.还是换回来

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

下面是pg_hba.conf个文件中的example个(方法已设置为trust):

# 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

NOTE:在更改密码后(如上所述),请记住将方法更改回md5here中列出的其他身份验证方法.

Postgresql相关问答推荐

Postgres BULK INSERT如何影响Debezium?

如何在PostgreSQL中以行值的形式获取列

处理Ruust-DIESEL中的Jsonb PostgreSQL列

如何诊断字符编码问题

Postgres 查询指向国外数据工作者的分区表比直接查询 fdw 慢很多倍

配置:错误:C 编译器无法在 Ubuntu 中创建可执行文件

如何将 grafana 与 Google Cloud SQL 集成

使用间隔参数的 go postgres 准备好的语句不起作用

保存 geodjango PointField 时出错

SQL数据库表中的多态性?

从 psycopg2 异常中获取错误消息

如何使 Java 和 Postgres 枚举一起工作以进行更新?

断言错误:Django-rest-Framework

如何将1 天 01:30:00等间隔转换为25:30:00?

当记录包含 json 或字符串的混合时,如何防止 Postgres 中的invalid input syntax for type json

返回 NULL 的空数组的 array_length()

在这个 Dockerfile 中创建的 Postgres 用户名/密码在哪里?

在 Spring Boot 应用程序中禁用表重新创建

获取全文搜索配置语言的完整列表

如何更改 PostgreSQL 中的 REFERENCES?