Ergebnis 1 bis 3 von 3

Thema: PL/Python auf Postgresql 8.1.5 geht klappt nicht

  1. #1
    michaelbn ist offline Neuer Benutzer
    Registriert seit
    12.05.2006
    Beiträge
    5

    Standard PL/Python auf Postgresql 8.1.5 geht klappt nicht

    Hallo,
    unter Opensuse 10.1 / PostgreSQL 8.1.4 habe ich eine Datenbank, die auch einige PL/Python-Funktionen enthält. Ich habe nun diese Datenbank mit dumpall auf einem Opensuse 10.2 / PostgreSQL 8.1.5 - System installiert. Schnell mußte ich feststellen, dass die PL/Python-Funktionen dort nicht mehr laufen. Ich habe dann mal testweise eine neue DB erstellt, um herauszufinden, was los ist. Eine ganz einfache Funktion wie
    CREATE or REPLACE FUNCTION fncPy(int) RETURNS int AS
    '
    tt = args[0]
    return tt
    '
    LANGUAGE plpythonu;
    funktioniert. Wenn ich aber versuche, etwa die Zeile
    rs = plpy.execute("SELECT * FROM tbl_tt") einzufügen, und dann die Funktion aufrufe, bricht der Server mit der folgenden Nachricht die Verbindung zum Client (psql) ab:
    Server beendete die Verbindung unerwartet
    Das heißt wahrscheinlich, daß [sic] der Server abnormal beendete
    bevor oder während die Anweisung bearbeitet wurde.
    Die Verbindung zum Server wurde verloren. Versuche Reset: Fehlgeschlagen.
    Danach hilft dann nur noch \q, um weitermachen zu können. Leider ist mir völlig schleierhaft, was da passiert. Was kann ich tun?
    Vielen Dank
    Michael

  2. #2
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von michaelbn Beitrag anzeigen
    Hallo,
    unter Opensuse 10.1 / PostgreSQL 8.1.4 habe ich eine Datenbank, die auch einige PL/Python-Funktionen enthält. Ich habe nun diese Datenbank mit dumpall auf einem Opensuse 10.2 / PostgreSQL 8.1.5 - System installiert. Schnell mußte ich feststellen, dass die PL/Python-Funktionen dort nicht mehr laufen. Ich habe dann mal testweise eine neue DB erstellt, um herauszufinden, was los ist. Eine ganz einfache Funktion wie
    CREATE or REPLACE FUNCTION fncPy(int) RETURNS int AS
    '
    tt = args[0]
    return tt
    '
    LANGUAGE plpythonu;
    funktioniert.
    Michael
    pl/phyton != pl/phytonu

    Hast Du diese Sprachen installiert? Prüf mal mit 'createlang -l'.

    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

  3. #3
    michaelbn ist offline Neuer Benutzer
    Registriert seit
    12.05.2006
    Beiträge
    5

    Standard PL/Python auf Postgresql 8.1.5 geht klappt nicht

    Hallo Andreas,
    ja Pl/Python ist installiert - wenn eine Sprache nicht installiert ist, gibt es schon während des Anlegens der Funktion (CREATE FUNCTION ...) eine Fehlermeldung mit dem Hinweis, das die in der Funktion genannte Sprache nicht installiert ist. Was den Hinweis pl/phyton != pl/phytonu betrifft, so war ich nur zu bequem 'PL/Python untrusted' zu schreiben - siehe auch meinen Kode-Schnippsel. (Bei dem Versuch LANGUAGE plpython - Tippfehler - zu verwenden, gibt's auch eine Fehlermeldung, dass die Sprache nicht zur Verfügung steht.)
    In aller Regel sind die Fehlermeldungen von PostgreSQL aussagekräftig genug, um den Fehler aufzuspüren - ohne stehe ich leider ziemlich im Dunkeln...
    Gruß
    Michael

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