Ergebnis 1 bis 7 von 7

Thema: Probleme mit PostGIS-Installation

  1. #1
    FrankImGlueck ist offline Neuer Benutzer
    Registriert seit
    10.01.2009
    Beiträge
    19

    Standard Probleme mit PostGIS-Installation

    Hallo zusammen,

    beim Einlesen der ersten pgsql-Datei für die PostGIS-Unterstützung über ...

    psql -d template1 -f
    /var/src/postgresql-8.1.11/contrib/postgis/lwpostgis.sql

    ... (diese Zeile habe ich aus der Anleitung unter Installation von MapServer, Apache und PostgreSQL/PostGIS auf Debian 4.0 - OSGeo Wiki), bekomme ich den Fehler ...

    psql:/var/src/postgresql-8.1.11/contrib/postgis/lwpostgis.sql:70: FEHLER: Typ »histogram2d« existiert bereits

    ..., wonach alle weiteren Transaktionen abgebrochen und ignoriert werden. Bis dahin war ich exakt nach Anleitung vorgegangen mit der Ausnahme, dass ich mir postgis-1.3.2.tar.gz unter http://postgis.refractions.net/downl...s-1.3.2.tar.gz besorgt habe, da die angegebene Quelle http://postgis.refractions.net/downl...s-1.3.2.tar.gz inzwischen tot war.

    Hier der erste Teil der "lwpostgis.sql" bis zu der bemängelten Zeile 70:

    ==================================================


    -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    --
    -- $Id: lwpostgis.sql.in 2707 2007-09-06 16:03:56Z mcayland $
    --
    -- PostGIS - Spatial Types for PostgreSQL
    -- http://postgis.refractions.net
    -- Copyright 2001-2003 Refractions Research Inc.
    --
    -- This is free software; you can redistribute and/or modify it under
    -- the terms of the GNU General Public Licence. See the COPYING file.
    --
    -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    --
    -- WARNING: Any change in this file must be evaluated for compatibility.
    -- Changes cleanly handled by lwpostgis_uptrade.sql are fine,
    -- other changes will require a bump in Major version.
    -- Currently only function replaceble by CREATE OR REPLACE
    -- are cleanly handled.
    --
    -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -










    BEGIN;

    -------------------------------------------------------------------
    -- HISTOGRAM2D TYPE (lwhistogram2d)
    -------------------------------------------------------------------


    -- 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);

    -- Deprecation in 1.2.3
    CREATE OR REPLACE FUNCTION histogram2d_out(histogram2d)
    RETURNS cstring
    AS '$libdir/liblwgeom', 'lwhistogram2d_out'
    LANGUAGE 'C' IMMUTABLE STRICT; -- WITH (isstrict);

    -- Availability: 1.2.2
    CREATE OR REPLACE FUNCTION ST_histogram2d_out(histogram2d)
    RETURNS cstring
    AS '$libdir/liblwgeom', 'lwhistogram2d_out'
    LANGUAGE 'C' IMMUTABLE STRICT; -- WITH (isstrict);

    CREATE TYPE histogram2d (
    alignment = double,
    internallength = variable,
    input = ST_histogram2d_in,
    output = ST_histogram2d_out,
    storage = main
    );
    ==================================================


    Möglich, dass die Behauptung, der Typ "histogram2d" existiere bereits, aus einem früheren Einlese-Versuch herrührt. Aber ich weiß nicht, wie ich diesen früheren Fehler nun wieder bereinigen könnte(?)

    Versuchsweise hatte ich mit webmin auch schon mal die template1-Datenbank erst geleert und dann gelöscht (bzw. löschen wollen, denn offenbar lässt die sich wohl gar nicht entfernen?). Aber der Fehler beim Einlesen kommt immer wieder. Ist etwa doch diese "lwpostgis.sql" selbst fehlerhaft? Oder gibts da eine Inkompatibilität zwischen den Versionen? Gibts irgendwo ein aktuelleres Installations-Tutorial?

    Schon mal vielen Dank und Grüße,
    Frank

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von FrankImGlueck Beitrag anzeigen
    Hallo zusammen,

    beim Einlesen der ersten pgsql-Datei für die PostGIS-Unterstützung über ...

    psql -d template1 -f
    /var/src/postgresql-8.1.11/contrib/postgis/lwpostgis.sql
    Manipuliere mal nicht die templateX-Datenbanken, außer Du weiß genau, was Du tust.

    Möglich, dass die Behauptung, der Typ "histogram2d" existiere bereits, aus einem früheren Einlese-Versuch herrührt. Aber ich weiß nicht, wie ich diesen früheren Fehler nun wieder bereinigen könnte(?)
    In dem Du in der DB diesen Typ löscht. DROP TYPE ...

    Versuchsweise hatte ich mit webmin auch schon mal die template1-Datenbank erst geleert und dann gelöscht (bzw. löschen wollen, denn offenbar lässt die sich wohl gar nicht entfernen?).
    Vergiß mal webmin, nutze lieber psql.

    Aber der Fehler beim Einlesen kommt immer wieder. Ist etwa doch diese "lwpostgis.sql" selbst fehlerhaft?
    Unwahrscheinlich. Wahrscheinlicher ist eher, daß Du zwar alle Tabellen entsorgt hast, nicht aber die neu geschaffenen Datentypen.

    Oder gibts da eine Inkompatibilität zwischen den Versionen? Gibts irgendwo ein aktuelleres Installations-Tutorial?

    Schon mal vielen Dank und Grüße,
    Frank
    Ich hab mit PostGIS exakt NULL Erfahrung, sorry. Aber wie oben schon gesagt: erstelle Dir eine DB, in der Du arbeitest. Arbeite NICHT in den Template-Datenbanken. Alles, was Du da versaust, kommt dann in neu angelegten Datenbanken wieder, da diese template-Datenbanken bei Anlage einer neuen DB als, *Wummer*, *Tusch*, Vorlage dienen.

    Zu PostGIS selbst kann Dir wahrscheinlich der gisman besser helfen, ich sehe ihn schon hinten um die Ecke kommen...


    Andreas
    Geändert von akretschmer (10.01.2009 um 16:24 Uhr)
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    FrankImGlueck ist offline Neuer Benutzer
    Registriert seit
    10.01.2009
    Beiträge
    19

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    Manipuliere mal nicht die templateX-Datenbanken, außer Du weiß genau, was Du tust.
    Tja, leider - ich gebs zu - weiß ich das tatsächlich überhaupt nicht. Aber ich hab postgresql auch gerade erst nach eben der besagten Anleitung installiert. Und so, wie ich diese verstehe, ist es doch gerade der Sinn, die Vorlage-DB um diese Funktionen zu erweitern, damit sie eben später überall zur Verfügung stehen(?)

    Zitat Zitat von akretschmer Beitrag anzeigen
    Vergiß mal webmin, nutze lieber psql.
    Ok, dann muss ich mich da wohl doch mal einarbeiten ...

  4. #4
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von FrankImGlueck Beitrag anzeigen
    Tja, leider - ich gebs zu - weiß ich das tatsächlich überhaupt nicht. Aber ich hab postgresql auch gerade erst nach eben der besagten Anleitung installiert. Und so, wie ich diese verstehe, ist es doch gerade der Sinn, die Vorlage-DB um diese Funktionen zu erweitern, damit sie eben später überall zur Verfügung stehen(?)
    Ja, das ist der Sinn dieser Vorlagen. Man kann da z.B. plpgsql installieren, wenn man weiß, dies überall zu gebrauchen. Oder eben den PostGIS-Krams. Falsch ist das nicht, nur zum 'spielen' macht man sich erst einmal eine Test-DB, in der man sich austobt und die man auch wieder entsorgen kann.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  5. #5
    FrankImGlueck ist offline Neuer Benutzer
    Registriert seit
    10.01.2009
    Beiträge
    19

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    In dem Du in der DB diesen Typ löscht. DROP TYPE ...
    Das hat leider nicht geholfen. Ich habe mich mit template1 verbunden und dann ein "DROP TYPE histogram2d" gemacht. Aber der Fehler bleibt der gleiche. Es scheint fast so, als würde der Namensraum durch eine der vorher in lwpostgis.sql angelegten Funktionen (histogram2d_in, ST_histogram2d_in, histogram2d_out, ST_histogram2d_out) bereits belegt? Oder durch die von den Funktionen histogram2d_in und ST_histogram2d_in zurückgegebene Variable histogram2d?

  6. #6
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von FrankImGlueck Beitrag anzeigen
    Das hat leider nicht geholfen. Ich habe mich mit template1 verbunden und dann ein "DROP TYPE histogram2d" gemacht. Aber der Fehler bleibt der gleiche. Es scheint fast so, als würde der Namensraum durch eine der vorher in lwpostgis.sql angelegten Funktionen (histogram2d_in, ST_histogram2d_in, histogram2d_out, ST_histogram2d_out) bereits belegt? Oder durch die von den Funktionen histogram2d_in und ST_histogram2d_in zurückgegebene Variable histogram2d?
    Irgendwas ist halt noch da. Mach doch einfach eine neue Datenbank (als Template template0 nutzen) und dann das GIS-Zeugs einspielen.

    Falls Du es verschmerzen kannst, den kompletten DB-Cluster zu verwerfen, dann mache das.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  7. #7
    Gisman ist offline Erfahrener Benutzer
    Registriert seit
    20.01.2006
    Ort
    Pfalz
    Beiträge
    794

    Standard

    Hoi!

    Den Fehler hatte ich noch nicht...

    Am besten, du legst dir eine extra Vorlage für die PostGIS-Sachen an. Dort solltest du die beiden SQL-Dateien ausführen. Wie schon erwähnt, wenn es möglich ist, bietet das Anlegen eines neuen Clusters eine schnelle Aufräummöglichkeit .

    Andernfalls:
    Bist du dir sicher, das es Histogram2D und den Rest gelöscht hat? Du könntest mal z.B. mit pgAdmin im der Datenbank nachschauen, ob da schon alles von PostGIS installiert ist (das sollten so ca. 670 Funktionen, Typen etc sein, sowie 2 Tabellen in public) und schauen ob es funktioniert. Falls das zu nichts führt, solltest du ein leeres Template erstellen und von vorne anfangen.
    Bei der Installation gehe ich immer nach dem Tutorial von PostGIS selbst vor, das ist etwas übersichtlicher. Aber ich nutze kein Debian, sondern Suse, da kann man neuerdings auch gut den Build-Service nutzen. Warum nimmst du übrigens nicht die aktuellen Versionen?

    Gruß erstmal

    Uwe
    Have a lot of fun!

Ähnliche Themen

  1. PostGIS Installation unter Windows
    Von startist im Forum PostGIS
    Antworten: 7
    Letzter Beitrag: 26.01.2011, 12:40
  2. PostGis Installation
    Von sushi_2k im Forum PostGIS
    Antworten: 8
    Letzter Beitrag: 09.06.2010, 09:48
  3. Installation von PostGIS 1.4.0
    Von hotte im Forum Sonstige Installationsprobleme
    Antworten: 1
    Letzter Beitrag: 04.12.2009, 12:07
  4. Frage Gibt es Probleme mit postGIS und Transaktionen
    Von BurnInHell im Forum PostGIS
    Antworten: 23
    Letzter Beitrag: 13.02.2009, 15:43
  5. Dll Probleme bei Installation
    Von shilohin im Forum Installation von PostgreSQL
    Antworten: 13
    Letzter Beitrag: 11.11.2007, 22:52

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum