默认值是'postgres',但是可以肯定的是,我忘记了最初安装它时使用的密码。
我已经在Google上搜索并找到了与重置密码有关的帖子。我遵循了这些步骤,但是最终结果与文章中提到的有所不同。我使用了
net user postgres postgres
重设数据库的密码,但我收到的不是成功消息,而是:
“发生系统错误5。访问被拒绝。“
系统错误。如何避免此错误并重置密码?
#1 楼
(注意:这与EDB安装程序中使用PostgreSQL 9.2或更高版本的读者没有太大关系,尽管您仍然可以配置其他帐户,但现在使用NETWORK SERVICE
大大简化了默认安装)。我已经使用
net user postgres postgres
重置数据库密码,但是我收到
"System error 5 has occurred. Access is denied."
而不是成功消息您已重置(或尝试重置)服务帐户密码。出于安全性考虑,PostgreSQL将无法以管理员身份运行,并且安装程序通常在PostgreSQL 9.1及更早版本1中使用“ postgres”用户帐户对其进行设置。在Windows上,如果不将用户的密码保存在注册表中,就无法以用户身份启动服务,这就是安装程序的工作。
如果您更改Windows用户帐户
postgres
的密码, PostgreSQL服务将无法启动。因此,不要这样做,您必须修复服务配置以存储更新的密码。看起来您可能正在非特权的Windows用户帐户或具有UAC的计算机上运行命令提示符而未使用“以管理员身份运行”,因此它没有以更改postgres
用户密码所需的访问权限运行。 在尝试更改该密码之前,请确保它确实是您想要的。您要在这里解决什么问题?您是否在尝试安装数据库更新或要求Windows用户
postgres
的其他密码? 很可能您只是尝试登录数据库。为此,您使用存储在数据库自身中的(不幸的是完全不相关)密码。由于丢失/忘记了它,您必须将其重置:
找到
pg_hba.conf
,通常在C:\Program Files\PostgreSQL.1\data\pg_hba.conf
中如有必要,请对其设置权限,以便您可以对其进行修改。您的用户帐户可能无法执行此操作,直到您使用属性对话框中的“安全性”选项卡通过使用管理员替代来赋予自己该权利。或者,在开始菜单中找到notepad / notepad ++,右键单击,选择“以管理员身份运行”,然后使用File-> Open以这种方式打开
pg_hba.conf
。对其进行编辑以设置“主机”行将主机“ 127.0.0.1/32”上的用户“ postgres”更改为“信任”。您可以添加该行(如果没有);只需在其他任何行之前插入:
host all postgres 127.0.0.1/32 trust
host all postgres ::1/128 trust # if IPv6 is in use
。 (您可以忽略注释,以
#
开头的行)。从服务控制面板重新启动PostgreSQL服务(开始-> run->
services.msc
)使用psql或PgAdmin-III或随便什么
ALTER USER postgres PASSWORD 'postgres'
pg_hba.conf的行或将其更改回
重新启动PostgreSQL。
请参阅:如何重置PostgreSQL的postgres密码在Windows上?
1.9.2现在使用
NETWORKSERVICE
帐户,该帐户不需要密码,因此此问题就消失了。#2 楼
您需要区分名为“ postgres”的系统(Windows)用户和具有相同名称的数据库用户。查找pg_hba.conf文件-这可控制对PostgreSQL服务器的访问。您将需要以具有管理员权限的用户身份对其进行编辑。查找提到用户“ postgres”的行,并将模式临时设置为“ trust”。重新启动postgresql,然后您无需密码即可连接。重置密码,然后将文件恢复为原始设置并重新启动PostgreSQL。
该手册详细介绍了身份验证方法和pg_hba.conf文件。
#3 楼
如果还有其他人在使用pgAdmin时遇到此问题,建议您看看以下内容:http://www.homebrewandtechnology.com/blog/graphicallychangepostgresadminpassword评论
您可能希望将链接的文章的要点直接添加到您的帖子中,否则当链接失效时(不是(如果不是))此答案将变得无用。
–必须
17年5月23日19:05
评论
您可能还需要一个ip6条目:“托管所有postgres :: 1/128信任”
–特德·埃利奥特(Ted Elliott)
2014年1月3日17:46
仍然让我在开发机上使用postreSQL 9.6时没有麻烦。不确定为什么人们认为它无济于事> 9.2
–tourdownunder
16年11月15日在5:40
@darwindave取决于您的安装。如果您安装使用NETWORKSERVICE用户帐户,则没有服务帐户密码。如果您安装为使用诸如postgres或域帐户之类的专用服务帐户,则可以提供帮助。
–克雷格·林格(Craig Ringer)
16-11-15在10:36
您能否在9.2+上更新此答案,同时显示Windows的两种方法?
–埃文·卡洛尔(Evan Carroll)
17 Mar 9 '17 at 19:25
@EvanCarroll如果您使用的是网络服务,则无需重设密码。如果您使用其他帐户在9.2+上安装,则适用相同的信息。重置postgres超级用户数据库帐户密码的部分没有任何变化。因此,实际上并不需要任何更改。
–克雷格·林格(Craig Ringer)
17 Mar 10 '17 at 1:29