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

我在Windows中运行PostgreSQL。 我有一个单一的pipe理Windows用户帐户的香草安装,我用它来安装PostgreSQL和pgAdmin III。 使用pgAdmin III我创build了一个由postgresql帐户拥有的数据库。

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

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

无奈之下,我甚至在通过pgAdmin III连接到数据库时保存了密码,希望连接在重新启动之间仍然存在,但是没有。

如何将数据库设置为永久可用以使用正确的用户名和密码login? 最好不要以明文保存密码。

你的问题听起来很奇怪。

首先检查你的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服务?

我认为,如果你的外部应用程序连接到数据库有问题,那么你必须联系它的创build者。 也许他们在一些configuration文件或registry中保存密码。