如何在 Windows 中安全地设置可用的 PostgreSQL 连接?

如何在 Windows 中安全地设置可用的 PostgreSQL 连接?

我在 Windows 中运行 PostgreSQL。我有一个原始安装,其中包含一个管理员 Windows 用户帐户,我已使用该帐户安装 PostgreSQL 和 pgAdmin III。使用 pgAdmin III,我创建了一个由 postgresql 帐户拥有的数据库。

我有一个需要访问数据库的外部应用程序。我已向该应用程序提供了 postgresql 用户名和密码。

如果我没有通过 pgAdmin III 连接到数据库(数据库上出现红色 X),外部应用程序就无法连接到数据库。一旦我通过 pgAdmin III 连接到数据库,外部应用程序就可以连接。这是一个问题,因为两个程序(PostgreSQL 和应用程序)都作为服务运行,需要能够在服务器重新启动时自动启动和连接(服务器重新启动时两个服务都会正确启动)。

无奈之下,我甚至在通过 pgAdmin III 连接数据库时保存了密码,希望重启后连接能够继续保持,但事实并非如此。

如何设置数据库,以便使用正确的用户名和密码永久登录?最好不要以明文形式保存密码。

答案1

你的问题听起来很奇怪。

首先检查你的 PostgreSQL 是否正在运行。它应该监听一个端口,通常是端口 5432。为此,你可以使用netstatTCPViewProcessExplorer

然后尝试使用psql(它应该在 PostgreSQL bin 目录中)使用-l开关列出可用的数据库:

[test:~]# psql -l -U postgres
                List of databases
                Name                |  Owner   | Encoding
------------------------------------+----------+----------
 postgres                           | postgres | LATIN2
 template0                          | postgres | LATIN2
 template1                          | postgres | LATIN2
 test                               | postgres | LATIN2

(用于psql --help查看各种选项)

然后您可以使用以下命令连接到数据库:

psql -U [user] [database]

尝试一下,看看您是否可以连接到该数据库。也许您的 PGAdmin 启动了 PostgreSQL 服务?

我认为,如果您的外部应用程序在连接数据库时出现问题,那么您必须联系其创建者。也许他们将密码保存在某个配置文件或注册表中。

相关内容