Installation von postgis 1.3.2 crasht PostgreSQL 8.3.1

Hi, ich erzeuge eine neue PostGIS db auf einem Windows XP32 prof Rechner, auf dem postgis 1.3.1 auf PostgreSQL 8.2 lief (jetzt nach dump der db deinstalliert).

Die Installation killt den PostgreSQL Service bei der Abarbeitung von lwpostgis.sql bei der ersten ausführbaren Zeile (53) zur Anpassung des templates. Die fraglichen Zeilen lauten:

lwpostgis.sql line 49ff

– Deprecation in 1.2.3
CREATE OR REPLACE FUNCTION histogram2d_in(cstring)
RETURNS histogram2d
AS ‘$libdir/liblwgeom’, ‘lwhistogram2d_in’
LANGUAGE ‘C’ IMMUTABLE STRICT; – WITH (isstrict);
– Availability: 1.2.2
CREATE OR REPLACE FUNCTION ST_histogram2d_in(cstring)
RETURNS histogram2d
AS ‘$libdir/liblwgeom’, ‘lwhistogram2d_in’
LANGUAGE ‘C’ IMMUTABLE STRICT; – WITH (isstrict);


getestet:

  1. template_postgis wurde zuvor erzeugt
  2. language plpgsql ist installiert
  3. lwpostgis.sql scheitert sowohl bei manueller Ausführung als auch beim Aufruf durch den Application Stack Builder
  4. die Function histogram2d_in() ist noch nicht definiert
  5. Nach der Fehlermeldung sind alle laufenden Postgres-Prozesse beendet

wir sind bei v1.3.2, also muss uns die Depriciation-Warnung für v1.2.3 wohl nicht erschrecken.

Ich weiß nicht weiter. Bei 8.2/1.3.1 flutschte alles genau nach HOWTO.

Problem gelöst auf die brutale Weise:

PostgreSQL deinstalliert und auch den postgres-user sowie die Verzeichnisse C:\Dokumente und Einstellungen<user>\Anwendungsdaten\postgresql aller postgres-Benutzer gelöscht bzw das mit den backup-Dateien aus Zeiten von 8.2 umbenannt. Dann alles von Grund auf neu installiert und nun funzts.

Mit einer puren Neuinstallation allein hat sich nichts geändert. Das spricht z.B. für ein permission-Problem mit dem postgres-user. Dieser hat sich übrigens gegenüber der Vorinstallation geändert. Er taucht nun nicht mehr auf der login-Seite von Win XP und in der Benutzerverwaltung auf. Weil mich das schon bei v8.2 genervt hat, hatte ich die registry verbogen:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList]
“postgres”=dword:00000000

Nun, mit dem neu angelegten postgres-user, gibt es keinen vergleichbaren Eintrag und dennoch stört der postgres-user mich nicht mehr. Möglicherweise hat auch der neue Mechanismus zusammen mit meiner registry-Manipulation zu dem Problem beigetragen.