Mediendatenbank streikt nach Update
Mediendatenbank streikt nach Update
Hallo,
ich bin neu hier und finde s9y an sich sehr gut. Ich betreibe einen Privatblog in einem privaten Netz ohne öffentlichen Zugang. Bislang habe ich die Version 1.02 benutzt. Das update auf 1.3.1 verlief äußerst geradlinig, wie im FAQ beschrieben.
Nach dem Update gestern ist die Mediendatenbank nicht mehr nutzbar. Ich kann Bilder und Videos hochladen, ohne dass es eine Fehlermeldung gibt. Die Dateien liegen auch im upload-Verzeichnis des servers. Sie sind aber in der Mediendatenbank nicht zu sehen. Weder die neuen noch die alten Dateien. die alten Dateien sind aber nach wie vor in den Artikeln eingebunden und sichtbar.
Ein zweiter Versuch verlief genauso wie der erste.
Server:
OpenBSD 3.4
PHP 4.3.3
Serendipity 1.3.1
PostgreSQL 7.3.2
Wäre schön, wieder Bilder einbinden zu können. Hat jemand einen Tipp?
Gruß,
Sebastian
PS: Ja, ich weiss, dass der Server nicht mehr der Jüngste ist. Aber er läuft einwandfrei (Never change a winning team!).
Gruß,
S.
ich bin neu hier und finde s9y an sich sehr gut. Ich betreibe einen Privatblog in einem privaten Netz ohne öffentlichen Zugang. Bislang habe ich die Version 1.02 benutzt. Das update auf 1.3.1 verlief äußerst geradlinig, wie im FAQ beschrieben.
Nach dem Update gestern ist die Mediendatenbank nicht mehr nutzbar. Ich kann Bilder und Videos hochladen, ohne dass es eine Fehlermeldung gibt. Die Dateien liegen auch im upload-Verzeichnis des servers. Sie sind aber in der Mediendatenbank nicht zu sehen. Weder die neuen noch die alten Dateien. die alten Dateien sind aber nach wie vor in den Artikeln eingebunden und sichtbar.
Ein zweiter Versuch verlief genauso wie der erste.
Server:
OpenBSD 3.4
PHP 4.3.3
Serendipity 1.3.1
PostgreSQL 7.3.2
Wäre schön, wieder Bilder einbinden zu können. Hat jemand einen Tipp?
Gruß,
Sebastian
PS: Ja, ich weiss, dass der Server nicht mehr der Jüngste ist. Aber er läuft einwandfrei (Never change a winning team!).
Gruß,
S.
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Re: Mediendatenbank streikt nach Update
Hi!
Hast du beim update einen hinweis auf auszuführende SQL-Updates bekommen und das bestätigt? Von 1.0 auf 1.3 wurden diverse datenbanktabellen aktualisiert. Die einzelnen updates sind in den SQL-Datei im sql/ Verzeichnis zu finden. Prüfe mal deine Tabellen, ob sie alle Updates enthalten?
Grüße,
Garvin
Hast du beim update einen hinweis auf auszuführende SQL-Updates bekommen und das bestätigt? Von 1.0 auf 1.3 wurden diverse datenbanktabellen aktualisiert. Die einzelnen updates sind in den SQL-Datei im sql/ Verzeichnis zu finden. Prüfe mal deine Tabellen, ob sie alle Updates enthalten?
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Erst mal Kompliment für die prompte Antwort! Vielen Dank!
Ja, bei dem update wurden mehrere Hinweise gegeben, sowohl für MySQL als auch PostgreSQL. Ich habe auf Bestätigen gedrückt und alles lief kritiklos ab.
Die letzte passende Datei in serendipity/sql ist "db_update_1.2alpha3_1.2_alpha4_postgres.sql". Fehlt da etwas mit "db_update_1.3*" oder so?
Gruß,
Sebastian
Ja, bei dem update wurden mehrere Hinweise gegeben, sowohl für MySQL als auch PostgreSQL. Ich habe auf Bestätigen gedrückt und alles lief kritiklos ab.
Die letzte passende Datei in serendipity/sql ist "db_update_1.2alpha3_1.2_alpha4_postgres.sql". Fehlt da etwas mit "db_update_1.3*" oder so?
Gruß,
Sebastian
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Wenn eine *_postgres.sql datei nicht gefunden wird, wird übrigens die _mysql.sql Datei genommen.
Vergleich mal bitte die struktur deiner serendipity_images Tabelle mit der Struktur, die in der db.sql steht. Diese db.sql ist quasi der "Master", der für Neunistallation genommen wird.
Grüße,
Garvin
Wenn eine *_postgres.sql datei nicht gefunden wird, wird übrigens die _mysql.sql Datei genommen.
Vergleich mal bitte die struktur deiner serendipity_images Tabelle mit der Struktur, die in der db.sql steht. Diese db.sql ist quasi der "Master", der für Neunistallation genommen wird.
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Anbei die Tabelle serendipity_images als csv:
"id","name","extension","mime","size","dimensions_width","dimensions_height","date","thumbnail_name","authorid","path","hotlink","realname"
"2","raphi_lacht","jpg","image/jpeg","98651","640","480","1167772090","serendipityThumb","0","","",""
"1","familie01","jpeg","image/jpeg","73746","720","540","1144096000","serendipityThumb","0","","",""
"4","kinder01","jpg","image/png","619526","720","576","1194016761","","0","","",""
"9","heist_gitarre","jpg","image/jpeg","78507","480","640","1223451583","serendipityThumb","0","","","heist_gitarre.jpg"
Ich kann keinen unterschied zur db.sql erkennen. Die Feldnamen sind gleich. Lediglich die "id" ist als Mysql-SQLdatei mit "autoincrement" belegt. Das geht bei PostgreSQL etwas anders. Ebenso sind die int(11)-Felder in PostgresQL wahlweise mit int(2) oder int(4) belegt. Das dürfte aber nichts mit dem Problem zu tun haben.
Gruß,
Sebastian
"id","name","extension","mime","size","dimensions_width","dimensions_height","date","thumbnail_name","authorid","path","hotlink","realname"
"2","raphi_lacht","jpg","image/jpeg","98651","640","480","1167772090","serendipityThumb","0","","",""
"1","familie01","jpeg","image/jpeg","73746","720","540","1144096000","serendipityThumb","0","","",""
"4","kinder01","jpg","image/png","619526","720","576","1194016761","","0","","",""
"9","heist_gitarre","jpg","image/jpeg","78507","480","640","1223451583","serendipityThumb","0","","","heist_gitarre.jpg"
Ich kann keinen unterschied zur db.sql erkennen. Die Feldnamen sind gleich. Lediglich die "id" ist als Mysql-SQLdatei mit "autoincrement" belegt. Das geht bei PostgreSQL etwas anders. Ebenso sind die int(11)-Felder in PostgresQL wahlweise mit int(2) oder int(4) belegt. Das dürfte aber nichts mit dem Problem zu tun haben.
Gruß,
Sebastian
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Okay, die Tabelle stimmt auch eigentlich. Hast Du die mögichkeit im PostgreSQL-Fehlerlog evtl. mal nach Fehlermeldungen zu schauen, ob da eine Abfrage fehlschlägt?
Kannst du die anderen Tabellen in der db.sql auch mal prüfen ob alle Spalten vorhanden und identisch sind? Ggf. gab es Änderungen an Tabellen die auch mit einbezogen werden, z.b. mediaproperties oder so.
Grüße,
Garvin
Okay, die Tabelle stimmt auch eigentlich. Hast Du die mögichkeit im PostgreSQL-Fehlerlog evtl. mal nach Fehlermeldungen zu schauen, ob da eine Abfrage fehlschlägt?
Kannst du die anderen Tabellen in der db.sql auch mal prüfen ob alle Spalten vorhanden und identisch sind? Ggf. gab es Änderungen an Tabellen die auch mit einbezogen werden, z.b. mediaproperties oder so.
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
postgreSQL-log gibt folgendes wieder, wenn ich die Admin-oberfläche öffne und auch danach bei öffnen der Mediendatenbank:
ERROR: 'default_with_oids' is not a valid option name
ERROR: Unable to identify an ordering operator '<' for type '"unknown"'
Use an explicit ordering operator or modify the query
Gruß,
Sebastian
ERROR: 'default_with_oids' is not a valid option name
ERROR: Unable to identify an ordering operator '<' for type '"unknown"'
Use an explicit ordering operator or modify the query
Gruß,
Sebastian
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Kannst Du die exakte SQL-Abfrage die den Fehler wirft ausfindig machen? Steht die nicht im Logfile?
Grüße,
Garvin
Kannst Du die exakte SQL-Abfrage die den Fehler wirft ausfindig machen? Steht die nicht im Logfile?
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Hallo,
das einzige, was ich auf die Schnelle rausfinde, ist der Aufruf des browsers:
http://<server>/serendipity/serendipity_admin.php?serendipity[adminmodule]=media
Im logfile steht nichts weiter als das bereits gemeldete.
Gruß,
Sebastian
PS: Kann ich die PostgreSQL-DB auf MySQL umheben? Geht es dann womöglich? Ist PostgreSQL zu "exotisch" für S9y?
Gruß,
S.
das einzige, was ich auf die Schnelle rausfinde, ist der Aufruf des browsers:
http://<server>/serendipity/serendipity_admin.php?serendipity[adminmodule]=media
Im logfile steht nichts weiter als das bereits gemeldete.
Gruß,
Sebastian
PS: Kann ich die PostgreSQL-DB auf MySQL umheben? Geht es dann womöglich? Ist PostgreSQL zu "exotisch" für S9y?
Gruß,
S.
-
- Core Developer
- Posts: 30022
- Joined: Tue Sep 16, 2003 9:45 pm
- Location: Cologne, Germany
- Contact:
Hi!
Wenn du dir mal die include/functions_images.inc.php zu Herzen nimmst siehst du am Anfang folgende Funktion:
function serendipity_fetchImagesFromDatabase(
Relativ am Ende siehst du:
$rs = serendipity_db_query($query, false, 'assoc');
wenn Du davor mal folgendes einfügst:
echo $query;
müsstest Du die SQL-Anweisung beim aufruf der Meidendatenbank sehen. Diese SQL-Anweisung könntest du ggf. mal in phpPgAdmin oder so aufrufen?
Eigentlich müsste das in PostgreSQL durchaus funktionieren, zumindest gibt es einige Anwender bei denen es keine Probleme bereitet. Generell gilt jedoch schon, dass es mehr Entwickler für MySQL als PGSql gibt.
Ein umziehen müsste grundsätzlich möglich sein, ist aber schon mit etwas aufwand verbunden da die SQL-Datensätze in eine frische Installation rüberzuhieven.
Grüße,
Garvin
Wenn du dir mal die include/functions_images.inc.php zu Herzen nimmst siehst du am Anfang folgende Funktion:
function serendipity_fetchImagesFromDatabase(
Relativ am Ende siehst du:
$rs = serendipity_db_query($query, false, 'assoc');
wenn Du davor mal folgendes einfügst:
echo $query;
müsstest Du die SQL-Anweisung beim aufruf der Meidendatenbank sehen. Diese SQL-Anweisung könntest du ggf. mal in phpPgAdmin oder so aufrufen?
Eigentlich müsste das in PostgreSQL durchaus funktionieren, zumindest gibt es einige Anwender bei denen es keine Probleme bereitet. Generell gilt jedoch schon, dass es mehr Entwickler für MySQL als PGSql gibt.
Ein umziehen müsste grundsätzlich möglich sein, ist aber schon mit etwas aufwand verbunden da die SQL-Datensätze in eine frische Installation rüberzuhieven.
Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Hi,
also das hat schon mal geklappt. die Abfrage lautet:
SELECT DISTINCT i.id, '' AS orderkey, i.name, i.extension, i.mime, i.size, i.dimensions_width, i.dimensions_height, i.date, i.thumbnail_name, i.authorid, i.path, i.hotlink, i.realname, a.realname AS authorname FROM serendipity_images AS i LEFT OUTER JOIN serendipity_authors AS a ON i.authorid = a.authorid LEFT JOIN serendipity_authorgroups AS acl_a ON acl_a.authorid = 1 LEFT JOIN serendipity_access AS acl_acc ON ( acl_acc.artifact_mode = 'read' AND acl_acc.artifact_type = 'directory' AND acl_acc.artifact_index = i.path ) WHERE 1=1 AND ( i.path IS NULL OR acl_acc.groupid IS NULL OR ( acl_acc.groupid = acl_a.groupid OR acl_acc.groupid = 0) OR ( acl_acc.artifact_id IS NULL ) ) ORDER BY i.date DESC LIMIT 8 OFFSET 0
ich habe das Ganze der DB übergeben mit dem selben Ergebnis wie vorher: die Fehlermeldung ist die gleiche wie im PostgreSQL-log:
ERROR: Unable to identify an ordering operator '<' for type '"unknown"'
Use an explicit ordering operator or modify the query
Gruß,
Sebastian
also das hat schon mal geklappt. die Abfrage lautet:
SELECT DISTINCT i.id, '' AS orderkey, i.name, i.extension, i.mime, i.size, i.dimensions_width, i.dimensions_height, i.date, i.thumbnail_name, i.authorid, i.path, i.hotlink, i.realname, a.realname AS authorname FROM serendipity_images AS i LEFT OUTER JOIN serendipity_authors AS a ON i.authorid = a.authorid LEFT JOIN serendipity_authorgroups AS acl_a ON acl_a.authorid = 1 LEFT JOIN serendipity_access AS acl_acc ON ( acl_acc.artifact_mode = 'read' AND acl_acc.artifact_type = 'directory' AND acl_acc.artifact_index = i.path ) WHERE 1=1 AND ( i.path IS NULL OR acl_acc.groupid IS NULL OR ( acl_acc.groupid = acl_a.groupid OR acl_acc.groupid = 0) OR ( acl_acc.artifact_id IS NULL ) ) ORDER BY i.date DESC LIMIT 8 OFFSET 0
ich habe das Ganze der DB übergeben mit dem selben Ergebnis wie vorher: die Fehlermeldung ist die gleiche wie im PostgreSQL-log:
ERROR: Unable to identify an ordering operator '<' for type '"unknown"'
Use an explicit ordering operator or modify the query
Gruß,
Sebastian
SELECT DISTINCT i.id, '' AS orderkey
ist eine ungültige Syntax. Entferne mal das ,'' aus dem Query und probiers nochmal mit der Datenbank. Dann sollte zumindest eine andere Fehlerquelle genannt werden, wenn der Query nicht sogar dann durchläuft.
So wie das für mich aussieht, wird dort ein Feldname nicht gesetzt sondern ein leerer String anstelle.
ist eine ungültige Syntax. Entferne mal das ,'' aus dem Query und probiers nochmal mit der Datenbank. Dann sollte zumindest eine andere Fehlerquelle genannt werden, wenn der Query nicht sogar dann durchläuft.
So wie das für mich aussieht, wird dort ein Feldname nicht gesetzt sondern ein leerer String anstelle.
Ehrlich gesagt, keine Ahnung. In der von Garvin genannten Datei include/functions_images.inc.php wird die Variable $query ja verwendet, vielleicht wird sie ja auch da zusammengebaut. Ich muss mir das mal ansehen. Aber vielleicht kommt Garvin ja noch vorbei und weiss genaueres. Der leere String deutet nämlich noch auf ein anderes Problem hin: Ein Feldname wird nicht richtig in den Querystring eingebaut.