您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > PostgreSQL

Postgres、密码和安装程序

时间:08-07来源:作者:点击数:

在 EnterpriseDB 构建的“一键式”PostgreSQL 安装程序中报告的最常见问题与密码有关。在这篇文章中,将解释密码是什么、为什么需要密码以及如何重置密码。

超级用户密码

Postgres 使用超级用户密码来保护数据库内置的“postgres”超级用户帐户。这是全新安装中唯一的帐户。该密码在数据库服务器的初始安装过程中设置,以后可以使用pgAdmin或执行 SQL 查询随时更改。例如:

ALTER USER postgres WITH PASSWORD 'VeryVerySecret';

将 Postgres 升级到较新版本不需要超级用户密码,但是如果您安装某些 StackBuilder 模块,例如 PostGIS 或任何可用的 PHP 应用程序,则需要超级用户密码。这些安装程序需要密码,因为它们连接到数据库服务器并创建运行软件所需的数据库和其他对象。

服务密码

服务密码是容易让人感到困惑的密码。出于安全原因,Postgres 在特殊的操作系统用户帐户下运行。安装程序运行时,此帐户会在您的计算机上创建,除非在命令行上覆盖,否则它将被称为“postgres”。在 Linux 和 Mac OS X 等类 Unix作系统上,该帐户是在没有密码的情况下设置的,用户通常永远不需要再担心它。

然而,在 Windows 上,情况略有不同。在 Postgres 的正常安装中,我们将在 Windows 上设置服务帐户,以使用与超级用户帐户相同的密码(专家用户可以使用安装程序的命令行选项覆盖此行为)。我们需要这样做,因为 Windows 要求服务帐户具有安全密码。

注意:如果您将来更改超级用户密码,也不会更改服务密码。

当您在 Windows 上升级 Postgres 时,为了重新安装服务,我们需要知道服务密码,这就是为什么安装程序会要求正确重新输入它的原因。

如果您忘记了密码,可以在命令行上重置密码(也可以使用 GUI 工具,但并非在所有版本的 Windows 上都可用)。启动命令提示符,然后输入命令,例如:

net user postgres *

注意:此命令必须在具有管理员权限的命令提示符下运行。请记住,在 UAC 下,即使您拥有本地管理员访问权限,也必须明确以管理员权限运行程序。在“开始”菜单中按住 Shift 键并右键单击“命令提示符”,然后从上下文菜单中选择“以管理员身份运行”。

系统将提示您输入并确认用户的新密码。如果这样做,则还必须更新服务配置中可能使用该帐户的任何Postgres或相关服务(如pgAgent或pgBouncer)的密码,否则它们在下次重新启动时无法启动。您可以使用“管理工具”文件夹中的“服务”管理控制台执行此作。只需右键单击每个服务,选择属性,然后输入新密码,然后单击确定。

收到很多人要求我们重置他们的服务密码,因为他们误以为该密码与他们的 Postgres 社区登录名或 EnterpriseDB 网站上的帐户相关。事实并非如此 - 我们无法为您更改!

卸载

如果您卸载 Postgres,服务帐户将不会从操作系统中删除。这是因为每个单独的卸载程序都无法知道您是否在其他软件包或安装中使用了服务帐户。这不是什么大问题,除非您稍后重新安装 Postgres 并意识到自己完全忘记了密码设置——在这种情况下,您可以按照上面所示重置密码。如果您希望删除帐户,可以使用如下命令:

net user postgres /delete

请注意,此命令必须在具有管理员权限的命令提示符下运行。 请记住,在 UAC 下,即使您拥有本地管理员访问权限,也必须明确以管理员权限运行程序。在“开始”菜单中按住 Shift 键并右键单击“命令提示符”,然后从上下文菜单中选择“以管理员身份运行”。

总结

总而言之,我们有超级用户密码,用于保护数据库服务器的超级用户帐户;在 Windows 上,我们有服务密码,用于保护 Postgres 使用的操作系统服务帐户。在正常安装中,所有帐户使用相同的用户名 (postgres) 和密码,但安装完成后,可以独立更改其中一个密码。这两个密码都特定于您自己的计算机,可以按照所示进行更改(或删除服务帐户)。 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐