Postgresql无法正确安装

时间:2012-12-14 08:46:12

标签: postgresql

过去几天我一直在尝试安装PostgreSQL 9.2。我想我尝试了一些我能在网上找到的东西,但服务仍然无法启动。我目前正在运行Windows 7 SP1。我以前安装了PostgreSQL 8.3并且工作正常,但几周前我决定将其卸载。我彻底卸载了它(删除了postgres用户和数据文件),现在每次我尝试安装任何版本时,在设置结束时,当加载数据库模块时,我会收到这个非致命错误。 我设法看到postgresql服务没有启动或Windows启动然后停止。 这是安装日志文件的相关部分:

成功处理了771个文件;处理0个文件失败

initcluster.vbs跑完了

脚本stderr:

Configuring database server startup...
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\startupcfg.vbs" 9.2 "NT AUTHORITY\NetworkService" "****" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" "postgresql-9.2"
Script exit code: 0

Script output:
 startupcfg.vbs ran to completion

Script stderr:

Creating menu shortcuts...
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\createshortcuts.vbs" 9.2 "postgres" 5432 "PostgreSQL 9.2 (x86)" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" "postgresql-9.2"
Script exit code: 0

Script output:
 Start FixupFile(C:\Program Files (x86)\PostgreSQL\9.2\scripts\serverctl.vbs)...
   Opening file for reading...
   Closing file (reading)...
   Replacing placeholders...
   Opening file for writing...
   Closing file...
  End FixupFile()...
Start FixupFile(C:\Program Files (x86)\PostgreSQL\9.2\scripts\runpsql.bat)...
   Opening file for reading...
   Closing file (reading)...
   Replacing placeholders...
   Opening file for writing...
   Closing file...
  End FixupFile()...
createshortcuts.vbs ran to completion

Script stderr:


Starting the database server...
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\startserver.vbs" postgresql-9.2
Script exit code: 0

Script output:
 Starting postgresql-9.2
Service postgresql-9.2 started successfully
startserver.vbs ran to completion

Script stderr:


Loading additional SQL modules...
Executing cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\loadmodules.vbs" "postgres" "****" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" 5432
Script exit code: 2

Script output:
 Installing the adminpack module in the postgres database...
    Executing 'C:\Users\George\AppData\Local\Temp\radA5996.bat'...
psql: server closed the connection unexpectedly
    This probably means the server terminated abnormally
    before or while processing the request.

Failed to install the 'adminpack' module in the 'postgres' database
loadmodules.vbs ran to completion

Script stderr:
 Program ended with an error exit code

Error running cscript //NoLogo "C:\Program Files (x86)\PostgreSQL\9.2\installer\server\loadmodules.vbs" "postgres" "****" "C:\Program Files (x86)\PostgreSQL\9.2" "C:\Program Files (x86)\PostgreSQL\9.2\data" 5432 : Program ended with an error exit code

[10:34:28] Write the data directory to the ini file...
[10:34:28] Write the port number, service ID, locale and superuser to the ini file...
[10:34:28] Write ServiceID(postgresql-9.2) to registry/ini...
[10:34:28] Write Superuser to ini file and windows registry...
[10:34:28] Write Service Account to ini file and windows registry...
[10:34:28] Write the server description to the ini file...
[10:34:28] Write the server branding to the ini file...
[10:34:28] Write the 'whether stack-builder is disabled or not' to the ini file...
[10:34:29] Finished running post-installation/upgrade tasks.

Creating Uninstaller
Creating uninstaller 25%
Creating uninstaller 50%
Creating uninstaller 75%
Creating uninstaller 100%
Installation completed

6 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。有一点,它需要通过互联网连接获得一个包。这是不正确的,因为安装包s / b能够在没有连接的情况下安装,但就是这样。您的防火墙阻止了安装。这是你需要做的:

关闭Windows防火墙(控制面板\所有控制面板项\ Windows防火墙\自定义设置)

如果你使用这个伟大的程序关闭防火墙控制(退出任务栏或使用任务经理杀死UI和服务 - 2项)

下载选定的套餐: 关闭密钥保护服务: 关闭基本过滤(让您不受保护! - 重新启动BFE时依赖性将重新开始) 基础过滤引擎     IKE和AuthIP IPsec密钥模块     IPsec策略代理     ICS     ...

不要忘记重新启动所有保护措施。

答案 1 :(得分:2)

我在Win7 x64上面临类似的Pg 9.2.4安装程序问题。结果表明 由于停止postgres服务,'adminpack'模块未加载。它开始然后 几乎立即终止。您可以手动检查此运行的Pg服务以查看是否存在 可以加载。如果它不能这可能来自“data”目录中缺少配置文件。在initdb 命令无法创建有效的集群并复制相应的* .conf文件。我试图挖掘 详细信息和安装程序对用户权限进行了复杂的检查,这可能会导致您(和我的)案例失败。

尝试从zip二进制文件安装Pg。它只需要以下命令(小于 20分钟)。 Original article

1)创建“postgres”windows用户(没有管理员权限)并授予其完全权限 你的Pg文件夹和“数据”文件夹。要从命令行运行“cmd”作为管理员(按Ctrl-Shift-Enter而不是Enter运行“cmd”)并发出:“net user postgres /添加“。然后右键单击您的Pg文件夹(如果它在外面,则为”data“文件夹)并将所有权限授予”postgres“。

2)安装Microsoft Visual C ++ 20xx Redistributable Package,只需单击一下即可 安装程序(vcredist_x64.exe来自Users \“您的用户”\ AppData \ Local \ Temp \ postgresql_installer_ * *** - 首次运行时单击Pg安装程序创建的文件夹)

3)将Pg二进制文件解压缩到Pg文件夹,将“cmd”解压缩为其bin目录。

4)运行到init集群:initdb -U postgres -A password -E utf8 -W -D“Pg文件夹的路径”\ data

5)运行安装Windows服务:pg_ctl register -N“postgresql”-U“。\ postgres”-D“到Pg文件夹/数据的路径”-w

6)打开Windows服务列表并打开“postgresql”服务属性。然后在那里为windows user postgres设置密码。尝试启动新的Pg服务。如果它开始那么一切都应该没问题。

7)打开bin \ pgAdmin3,连接到本地服务器并打开postgres数据库及其元数据。您应该看到有关缺少管理服务的投诉,并建议更正此问题。只需按确定 - 应安装'adminpack'。

答案 2 :(得分:2)

仅从用英语编写的Windows帐户安装postgres。例如,用户“Аня”的安装总是失败。

答案 3 :(得分:1)

尝试在Windows上具有特殊权限的“C:\ Program Files”之外安装。 我们有类似的问题,只需安装到C:\ Postres92,一切都可以直接使用。

答案 4 :(得分:0)

解决方法是在安装之前关闭Windows防火墙。安装完成后,您可以启用Windows防火墙。

答案 5 :(得分:0)

由于数据目录为C:\Program Files (x86)\PostgreSQL\9.2\data

Program Files 目录中的访问权限受限导致我遇到同样的问题

将数据目录更改为C:\ProgramData\PostgreSQL\9.2\data解决了问题。