1

我刚刚在 Windows 7 64 位机器上安装了 postgresql-9.1.4-1-windows-x64。我无法启动服务并连接到数据库。成功安装后,我根据类似的帖子尝试了以下操作。

1)在“开始”>“所有程序”>“PostreSQL 9.1”下查找“启动服务器”,但找不到。

2)尝试从命令行启动服务器

pg_ctl.exe -D "C:\Program Files\PostgreSQL\9.1\bin\data"

这给了我错误:

无法创建锁定文件“postmaster.pid”:权限被拒绝

我有管理权限,在 bin 或 data 目录中都没有 postmaster.pid 文件。

3)接下来,我尝试通过右键单击 postgresql-9.1.4-1-windows-x64 服务并选择“开始”来从管理工具启动服务。我收到消息:

本地计算机上的 postgresql-9.1.4-1-windows-x64 服务启动和停止。如果某些服务没有被其他服务或程序使用,它们会自动停止。

事件查看器将错误显示为Timed out waiting for server startup

4)我认为数据目录中的数据可能是初始数据库,但以防万一我运行“initdb”并得到:

如果要创建新的数据库系统,请删除或清空目录 c:\program files\postgreSql/9.1/data 或使用 c:\program files\postgreSql/9.1/data 以外的参数运行 initdb

4)为了好玩,我启动了pgAdminIII,右键单击“PostreSQL 9.1(localhost:5432)”,选择连接,输入密码,然后得到:

无法连接到服务器:连接被拒绝 (0x0000274D/10061) 服务器是否在主机“localhost”(::1) 上运行并接受端口 5432 上的 TCP/IP 连接?

有人有建议吗?

谢谢。

4

1 回答 1

2

«“无法创建锁定文件'postmaster.pid':权限被拒绝”»

不要再看了,如果 Postgres 不能创建这个临时文件,它就不能启动。如果它没有被创建,你在磁盘上寻找它显然是找不到它的。您的 DATA 目录已创建,因此无需再次重新运行initdb,如果您尝试使用 pgadmin,它会抱怨它无法连接到 Pg——它没有运行。

我对 windows 不熟悉,但知道了在哪里postmaster.pid创建,你可能会发现 Postgres 不能创建这个文件的原因。

希望能帮助到你。

于 2012-08-23T08:59:20.073 回答