2011-12-16 110 views
7

我无法在我们的虚拟服务器上正确地重新安装PostgreSQL + PostGIS。
安装PostgreSQL出现以下错误有关过程的结束:PostgreSQL安装 - 错误加载模块

“发生非致命错误,同时加载数据库模块,请检查在C安装日志:... \温度的详细信息。”

这里是日志说什么:

Loading additional SQL modules... 
Executing cscript //NoLogo "C:\Programme\PostgreSQL\9.0\installer\server\loadmodules.vbs" "postgres" "****" "C:\Programme\PostgreSQL\9.0" "C:\Programme\PostgreSQL\9.0\data" 5432 
Script exit code: 2 

Script output: 
Installing the adminpack module in the postgres database... 
Executing 'C:\DOKUME~1\Kiesow\LOKALE~1\Temp\rad3C00F.bat'... 
Couldn't find the output file... 
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:\Programme\PostgreSQL\9.0\installer\server\loadmodules.vbs" "postgres" "****" "C:\Programme\PostgreSQL\9.0" "C:\Programme\PostgreSQL\9.0\data" 5432 : Program ended with an error exit code 

之后安装完成后,我就可以开始pgAdmin的,登录并创建新的数据库。一切看起来都很好,直到我尝试使用堆栈生成器向导添加PostGIS。再次安装几乎完成时:

“数据库创建失败。” “你想查看错误日志”“create_templatepostgis_db_error.txt”吗?“

此错误日志不存在。我可能会忽略该错误并手动创建模板数据库,这可以起作用。但是我不能使用像'几何'这样的类型,所以我认为PostGIS还不可用。


也许你们中的任何一个人都知道我可能做错了什么?任何提示?任何人都可以帮我解释错误日志吗?


我使用的是Windows XP,PostgreSQL 9.0 32bit(与8.4相同),PostGIS 1.5。
Postgres 8.3 + PostGIS早先安装在这个系统上,但是我卸载了,删除了数据目录并让安装向导创建了一个新的posgres windows用户。
也做了几次重新启动。
而且我在Postgres安装时选择了一个locale而不是[Default locale]。


这是我怀疑的另一部分日志。它在一开始就是正确的。也许这可以帮助:

Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.0 Data Directory. Setting variable iDataDirectory to empty value 
Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.0 Base Directory. Setting variable iBaseDirectory to empty value 
Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.0 Service ID. Setting variable iServiceName to empty value 
Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.0 Service Account. Setting variable iServiceAccount to empty value 
Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.0 Super User. Setting variable iSuperuser to empty value 
Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.0 Branding. Setting variable iBranding to empty value 
Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.0 Version. Setting variable brandingVer to empty value 
Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.0 Shortcuts. Setting variable iShortcut to empty value 
Could not find registry key HKEY_LOCAL_MACHINE\SOFTWARE\PostgreSQL\Installations\postgresql-9.0 DisableStackBuilder. Setting variable iDisableStackBuilder to empty value 
[15:44:31] Existing base directory: 
[15:44:31] Existing data directory: 
[15:44:31] Using branding: PostgreSQL 9.0 
[15:44:31] Using Super User: postgres and Service Account: postgres 
[15:44:31] Using Service Name: postgresql-9.0 
Executing cscript //NoLogo "C:\Dokumente und Einstellungen\Kiesow\Lokale Einstellungen\Temp\prerun_checks.vbs" 
Script exit code: 0 

Script output: 
The scripting host appears to be functional. 

Script stderr: 

Executing cscript //NoLogo "C:\Dokumente und Einstellungen\Kiesow\Lokale Einstellungen\Temp\postgresql_installer\installruntimes.vbs" "C:\Dokumente und Einstellungen\Kiesow\Lokale Einstellungen\Temp\postgresql_installer\vcredist_x86.exe" 
Script exit code: 3010 

Script output: 
Executing the runtime installer: C:\Dokumente und Einstellungen\Kiesow\Lokale Einstellungen\Temp\postgresql_installer\vcredist_x86.exe 
The runtime package exited with error code: 3010 
+0

这可能是Windows用户的问题。其他人将其安装到我们的服务器没有问题(并在删除用户帐户后,再次)。 – 2012-03-13 13:18:25

回答

2

从命令提示符,运行该命令中:

C:\Programme\PostgreSQL\9.0\bin\psql.exe -p 5432 -U postgres -W -f C:\Programme\PostgreSQL\9.0\share\contrib\adminpack.sql postgres

它的输出可能会提供更多的信息。顺便说一下,运行以上是所有.vbs正在做的事情。

0

提示此错误消息的原因是由于localhost指向某个其他计算机。

0

禁用防火墙和防病毒并重新安装。