我试图用postgres用户从我的windows计算机登录到我的服务器,并使用Pgadmin.

但它一直给我这个错误:

psql: FATAL:  password authentication failed for user "postgres"

然后我try 用psql从命令行登录,这给了我同样的错误.在将本地条目放入pg_hba之后,我使用psql将密码重置为"test".信任.然后我将条目放回md5,并try 使用密码"test"登录.

在psql中,我使用了以下命令:

ALTER ROLE postgres WITH PASSWORD 'test';
ALTER ROLE postgres PASSWORD 'test';
ALTER USER postgres WITH PASSWORD 'test';
ALTER USER postgres PASSWORD 'test';

这个特殊的psql命令

\password

每次我都把pg_hba退回.将本地条目配置为md5,并try 使用psql登录:

psql -U postgres

然后我被要求输入密码.输入"test"后,psql给我的错误与我前面提到的相同.

当然,每次更改pg_hba文件后,我都会重新启动postgresql.我在用psql和su postgres.

因此,尽管我可以用通常的方式更改密码,但它不被接受为密码.

我希望有人能帮我.

一些信息:

Postgresql 9.1

Pg_hba文件(根据要求)

local   all             postgres                                md5

local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

host    all             all             <my-ip-address>/32        md5

当我想修改密码时,我将顶级md5改为trust.

结果

sudo -u postgres psql -x -c "select * from pg_user where usename='postgres'"

是:

usename     | postgres
usesysid    | 10
usecreatedb | t
usesuper    | t
usecatupd   | t
userepl     | t
passwd      | ********
valuntil    | 1970-01-01 00:00:00+01
useconfig   |

推荐答案

如最新编辑所示,密码有效期至1970年,这意味着它目前无效.

使用以下命令重置有效性:

ALTER USER postgres VALID UNTIL 'infinity';

在最近的一个问题中,另一个用户在用户帐户和PG-9.2上也有同样的问题:

PostgreSQL - Password authentication fail after adding group roles

因此,显然有一种方法可以无意中将假密码有效性设置为Unix时代(1970年1月1日,abstime类型的最小可能值).PG本身或某些客户端工具中可能存在可能会造成这种情况的缺陷.

EDIT:结果是一个pgadmin错误.见https://dba.stackexchange.com/questions/36137/

Postgresql相关问答推荐

Redis作为postgreSQL嵌套数据的缓存

利用PostgreSQL查询中表的顺序来计算包含每次时间的时间范围

一列引用两个不同的表

使用PythonPolar在PostgreSQL中存储

执行准备好的语句不返回数据

Postgres:一次插入多行时自定义upsert(存储过程?)?

求和直到达到一个值 postgresql

如何查找具有包含花括号内值且遵循模式的属性的顶点?

PostgreSQL pg_dump 创建 sql 脚本,但它不是 sql 脚本:有没有办法让 pg_dump 创建标准的 sql 脚本?

Cloud SQL 时间点 数据驻留

postgres 的密码

Rails 迁移:PostgreSQL 上的 Bigint 似乎失败了?

Postgresql JSONB 来了.现在用什么?Hstore?JSON?EAV?

Select 空字段

PostgreSQL如何连接间隔值'2天'

如何防止用户看到其他数据库和其他数据库中的表?

Postgresql:在插入列时(或之前)自动小写文本

Postgresql varchar 是否使用 unicode 字符长度或 ASCII 字符长度计算?

如何使用 PostgreSQL 触发器来存储更改(SQL 语句和行更改)

如何在 PostgreSQL 中生成一系列重复数字?