Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Sql 无法登录postgres 9.3 windows的空密码_Sql_Windows_Postgresql_Null_Passwords - Fatal编程技术网

Sql 无法登录postgres 9.3 windows的空密码

Sql 无法登录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

我将本地计算机上用户postgres的postgres密码更改为NULL。在SQL窗口中使用以下命令: 更改密码为空的角色postgres


现在,我无法再次登录,因为它要求输入密码,并且不接受任何内容。我无法运行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
身份验证,但它不知道您不是故意这样做的(例如,在创建另一个超级用户之后)。