我在Windows中运行PostgreSQL。 我有一个单一的pipe理Windows用户帐户的香草安装,我用它来安装PostgreSQL和pgAdmin III。 使用pgAdmin III我创build了一个由postgresql帐户拥有的数据库。
我有一个需要访问数据库的外部应用程序。 我用postgresql用户名和密码提供了这个应用程序。
如果我没有通过pgAdmin III连接到数据库(数据库上出现红色的X),外部应用程序无法连接到数据库。 只要我通过pgAdmin III连接到数据库,外部应用程序就可以连接。 这是一个问题,因为这两个程序(PostgreSQL和应用程序)都作为服务运行,并且需要能够在服务器重新启动时自动启动和连接(服务器重新启动时两个服务都能正确启动)。
无奈之下,我甚至在通过pgAdmin III连接到数据库时保存了密码,希望连接在重新启动之间仍然存在,但是没有。
如何将数据库设置为永久可用以使用正确的用户名和密码login? 最好不要以明文保存密码。
你的问题听起来很奇怪。
首先检查你的PostgreSQL是否在运行。 它应该监听一个端口,通常是端口5432.为此,您可以使用netstat , TCPView , ProcessExplorer 。
然后尝试使用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中保存密码。