Sql 无法登录postgres 9.3 windows的空密码
我将本地计算机上用户postgres的postgres密码更改为NULL。在SQL窗口中使用以下命令: 更改密码为空的角色postgresSql 无法登录postgres 9.3 windows的空密码,sql,windows,postgresql,null,passwords,Sql,Windows,Postgresql,Null,Passwords,我将本地计算机上用户postgres的postgres密码更改为NULL。在SQL窗口中使用以下命令: 更改密码为空的角色postgres 现在,我无法再次登录,因为它要求输入密码,并且不接受任何内容。我无法运行SQL查询来更改密码,因为我现在没有登录。我可以在windows命令提示符下做些什么来更改密码吗?您可以编辑pg_hba.conf文件以启用trust(无密码)本地主机的身份验证方法。详情如下: 添加 host all all 127
现在,我无法再次登录,因为它要求输入密码,并且不接受任何内容。我无法运行SQL查询来更改密码,因为我现在没有登录。我可以在windows命令提示符下做些什么来更改密码吗?您可以编辑
pg_hba.conf
文件以启用trust
(无密码)本地主机的身份验证方法。详情如下:
添加
host all all 127.0.0.1/32 trust
在
pg_hba.conf
文件的开头,您可以编辑pg_hba.conf
文件以启用trust
(无密码)身份验证方法,用于localhost
。详情如下:
添加
host all all 127.0.0.1/32 trust
在
pg_hba.conf
文件的开头,将从127.0.0.1/32
(本地主机)首先转到pg_hba.conf文件,并在任何编辑器(记事本或记事本+)中打开它
pg_hba.conf的位置主要是
C:\Program Files\PostgreSQL\9.3\data
将方法更改为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
而不是
# 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
然后保存它
以管理员身份运行命令提示符并转到
C:\ProgramFiles\PostgreSQL\9.3\bin
目录通过cmd
运行重新加载postgres服务命令
pg_ctl.exe reload -D "C:\Program Files\PostgreSQL\9.3\data"
pg_ctl.exe reload -D "C:\Program Files\PostgreSQL\9.3\data"
进入PgAdmin并在不使用密码的情况下连接本地主机数据库
去酒店
在“定义”选项卡中更改密码
然后再次将方法信任更改为md5
# 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
再次运行重新加载postgres服务命令
pg_ctl.exe reload -D "C:\Program Files\PostgreSQL\9.3\data"
pg_ctl.exe reload -D "C:\Program Files\PostgreSQL\9.3\data"
首先转到pg_hba.conf文件,并在任何编辑器(记事本或记事本++)中打开它 pg_hba.conf的位置主要是
C:\Program Files\PostgreSQL\9.3\data
将方法更改为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
而不是
# 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
然后保存它
以管理员身份运行命令提示符并转到
C:\ProgramFiles\PostgreSQL\9.3\bin
目录通过cmd
运行重新加载postgres服务命令
pg_ctl.exe reload -D "C:\Program Files\PostgreSQL\9.3\data"
pg_ctl.exe reload -D "C:\Program Files\PostgreSQL\9.3\data"
进入PgAdmin并在不使用密码的情况下连接本地主机数据库
去酒店
在“定义”选项卡中更改密码
然后再次将方法信任更改为md5
# 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
再次运行重新加载postgres服务命令
pg_ctl.exe reload -D "C:\Program Files\PostgreSQL\9.3\data"
pg_ctl.exe reload -D "C:\Program Files\PostgreSQL\9.3\data"
我试图更改配置文件列表中的文本this:localhost:5432:*:postgres:trust
,但这不起作用。有什么问题吗?还尝试了localhost:5432:::postgres:iden,但这也不起作用。字符串的格式不是
pg_hba.conf
需要的格式。试试我在答案中贴的字符串。更改为pg_hba.conf
后,重新启动服务器。我像这样编辑了文件底部的行,现在它可以工作了。感谢您的帮助:#IPv4本地连接:托管所有127.0.0.1/32信任#IPv6本地连接:托管所有::1/128trust@user3789876请不要忘记在修复登录后删除该行。我试图在中更改文本配置文件列表如下:localhost:5432:*:postgres:trust但这不起作用。有什么问题吗?还尝试了localhost:5432:::postgres:iden,但这也不起作用。字符串的格式不是
pg_hba.conf
需要的格式。试试我在答案中贴的字符串。更改为pg_hba.conf
后,重新启动服务器。我像这样编辑了文件底部的行,现在它可以工作了。感谢您的帮助:#IPv4本地连接:托管所有127.0.0.1/32信任#IPv6本地连接:托管所有::1/128trust@user3789876在修复登录后,不要忘记删除该行。,.PostgreSQL可能会阻止您这样做,如果它看到您的pg_hba.conf
具有trust
身份验证,但它不知道您不是故意这样做的(例如,在创建另一个超级用户之后)。,.PostgreSQL可能会阻止您这样做,如果它看到您的pg_hba.conf
具有trust
身份验证,但它不知道您不是故意这样做的(例如,在创建另一个超级用户之后)。