PHP Projekt - Fehler mit PG 8.3.6

Programmierung mit PostgreSQL (C#, PHP, Perl, Java, ...)

PHP Projekt - Fehler mit PG 8.3.6

Beitragvon weller » Di 3. Mär 2009, 14:45

Hallo!

Eben wollte ich das RAWT Toolkit auf Debian Lenny installieren: http://sourceforge.net/projects/rawt

Jedenfalls läuft mein Apache unter Lenny mit folgender Konfiguration: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny2 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_perl/2.0.4 Perl/v5.10.0 and APC (PHP cache).

Es scheint aber eine Inkompatibilität mit Postgresql 8.3.6 zu geben:
Beim Aufruf folgender PHP Datei:
http://rawt.cvs.sourceforge.net/viewvc/rawt/web/statistic/statistic_full.php?revision=1.11&view=markup

Gibt es diesen Fehler:
Warning: pg_query() [function.pg-query]: Query failed: FEHLER: Funktion pg_catalog.substring(timestamp with time zone, integer, integer) existiert nicht LINE 1: ...ints_h from t_act_contest_60_1236000075_117 where substring ... ^ HINT: Keine Funktion stimmt mit dem angegebenen Namen und den Argumenttypen überein. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen. in /var/www/functions/psqlif.php on line 64
In module dbif, function query_arr: An error occured:
UTC Pts % Pts/h %/h QSOs % QSOs/h %/h Pts/QSO Pts/QSO (h)

Es scheint mir eine Inkompatibilität mit der Version 8.3.x von Postgres zu geben.

Leider habe ich keine Erfahrungen mit Postgres und von den RAWT Entwicklern habe ich auch nichts gehört :-(
Ich hoffe, daß mir hier jemand helfen kann und mal einen Blick auf den Source wirft. Vielleicht ist es ja nur eine umbenannte Funktion oder Ähnliches...


Danke und Gruß,
Andreas Weller
weller
Neuer Benutzer
 
Beiträge: 1
Registriert: Di 3. Mär 2009, 14:31

Beitragvon akretschmer » Di 3. Mär 2009, 14:51

weller hat geschrieben:Hallo!

Eben wollte ich das RAWT Toolkit auf Debian Lenny installieren: SourceForge.net: RAWT

Jedenfalls läuft mein Apache unter Lenny mit folgender Konfiguration: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny2 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_perl/2.0.4 Perl/v5.10.0 and APC (PHP cache).

Es scheint aber eine Inkompatibilität mit Postgresql 8.3.6 zu geben:
Beim Aufruf folgender PHP Datei:
SourceForge.net Repository - [rawt] View of /web/statistic/statistic_full.php

Gibt es diesen Fehler:
Warning: pg_query() [function.pg-query]: Query failed: FEHLER: Funktion pg_catalog.substring(timestamp with time zone, integer, integer) existiert nicht LINE 1: ...ints_h from t_act_contest_60_1236000075_117 where substring ... ^ HINT: Keine Funktion stimmt mit dem angegebenen Namen und den Argumenttypen überein. Sie müssen möglicherweise ausdrückliche Typumwandlungen hinzufügen. in /var/www/functions/psqlif.php on line 64
In module dbif, function query_arr: An error occured:
UTC Pts % Pts/h %/h QSOs % QSOs/h %/h Pts/QSO Pts/QSO (h)

Es scheint mir eine Inkompatibilität mit der Version 8.3.x von Postgres zu geben.

Leider habe ich keine Erfahrungen mit Postgres und von den RAWT Entwicklern habe ich auch nichts gehört :-(
Ich hoffe, daß mir hier jemand helfen kann und mal einen Blick auf den Source wirft. Vielleicht ist es ja nur eine umbenannte Funktion oder Ähnliches...


Danke und Gruß,
Andreas Weller



In PG 8.3 sind eine Reihe implizieter Typumwandlungen (CASTs) entfallen. In Deinem Falle konkret die Umwandlung eines Timestamptz nach Text. Du kannst das beheben, indem Du im SQL hinter den ersten Parameter ein ::text anfügst:

Code: Alles auswählen
test=*# select substring(now(), 1,5);
ERROR:  function pg_catalog.substring(timestamp with time zone, integer, integer) does not exist
LINE 1: select substring(now(), 1,5);
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
test=!# rollback;
ROLLBACK
test=# select substring(now()::text, 1,5);
 substring
-----------
 2009-
(1 row)


Btw.: um aus einem Timestamptz einen Teilwert (Jahr, Monat, Tag, ...) zu extrahieren, gibt es sinnvollere Wege: EXTRACT().


Du kannst das ja den Machern mal mitteilen...

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
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5954
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon akretschmer » Di 3. Mär 2009, 15:01

akretschmer hat geschrieben:I

Du kannst das ja den Machern mal mitteilen...

Andreas


Uhm, das macht einen verdammt toten Eindruck...

Du kannst als Notlösung auch Dir das ansehen:
view: /biosql/biosql-schema/trunk/sql/pg83-implicit-casts.sql (Rev: 284, via SVN::Web)

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
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5954
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany


Zurück zu Programmierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste