Wechsel des Datenbanktyps


#1

Hallo zusammen,

ich bin der technische Admin einer OJS Installation.

Bei der Einrichtung von OJS 2.6 wurde mir von meinem Abteilungsleitung die Vorgabe gemacht, dass ich Postgresql verwenden soll. Da ich damit vorher nie gearbeitet habe, habe ich mich irgendwie dadurch geboxt.
Die Installation läuft soweit problemlos. Bei so Verwaltungsarbeiten, wie Backups und manuellen Zugriff auf die DB habe ich mich allerdings schon viel herumgeärgert.

Ich würde die Datenbank daher gerne auf eine MySQL bzw. MariaDB Installation umziehen.

Natürlich müssen die bestehenden Daten übernommen werden.

OJS liegt in der aktuellesten Version 2 vor.
Denkbar wäre auch eine Übernahme der Daten in Version 3, welche bei mir schon auf einem Testserver mit MariaDB läuft. Erstmal wäre 2 allerdings besser. Die Leitung scheut noch etwas vor einem verfrühten Umstieg.

Kann jemand ein paar Tipps geben?

MfG
Marcel (IT_Sky)


#2

Hallo Marcel,

Ob PostgreSQL (>= 8.0 für OJS 2.4.8 bzw. >= 9.1.5 für OJS 3.0.2) oder MySQL (>= 4.1) ist eigentlich unerheblich. Es gibt mit phpMyAdmin verwandte Tools für PostgreSQL. Mit einem SQL Dump sollte auch eine Migration zwischen den beiden Systemen kein Problem sein (natürlich Testläufe vorausgesetzt).

Wir warten aktuell auf OJS 3.1 mit unseren Testläufen, bis dahin sind wir auch noch auf OJS 2.4.8. In Produktivumgebungen kommt am Ende eben Stabilität vor Features. Soweit mir bekannt handhaben das die meisten Hoster so. Die Plattform Journal.fi hatte mit einer early adoption einige Probleme bei der Migration. Mir ist aktuell auch keine weitere größere Installation bekannt, die auf OJS 3 gegangen wäre.

Hast du konkrete Fragen?

Gruß,
Dennis


#3

Hi @IT_Sky,
ich hatte unser OJS mal testweise auf OJS3 geaupdatet und hatte wollte dabei den Datenbanktyp ändern, weil die die PSQL-Unterstützung dort nur mäßig ist.
Leider geht das nicht so einfach, wie @dtwardy andeutet - Man kann nicht einfach ein Dump von der einen Datenbank in die andere schieben: Contsraints sind teilweise anders, auch die Datentypen der Spalten heißen nicht gleich (in der Art wie VARCHAR vs. CHARACTER VARIFYNG und sowas). Beim migrieren einer OJS-Datenbank von PSQL nach MySQL bin ich an hunderten von Issues gescheitert.
Es gibt kommerzielle Software mit der sich Dumps des eines Datenbanktypusses in den anderen konvertieren lassen. An freien Lösungen existiert soweit ich finden konnte nur das uralte und äußerst primitive Script pg2mysql, das aber rettungslos veraltet ist und mit aktuellen Versionen der Datenbanken nicht mehr läuft. Ich hatte angefangen eine aktualisierte Variante davon zu machen; hab das Projekt aber mangels Zeit aufgegeben, da wir unser Upgrade auf OPJ3 ohnehin erstmal auf unbestimmte Zeit verschoben haben.

Kurz, wenn es bei dir mit PSQL läuft, bleib lieber dabei, sonst hohlst du dir eine ziemlich dicke Baustelle ins Haus. Falls es nicht geht oder du unbedingt migrieren willst, lass uns vielleicht darüber austauschen.
Viele Grüße, Paf

Edit: Hier der Link zu dem alten Thread


#4

Hi,

ein einfacher DUMP hilft natürlich nicht.
So weit war ich auch schon.

Von einem Datenbankexperten habe ich nun den Rat bekommen, das ganze mal mit DBeaver oder der MySQL Workbench und den nötigen ODBC Driver zu probieren.
Bei Dbeaver blicke ich noch nicht ganz durch, aber der Weg mit der MySQL Workbench sieht viel versprechend aus.

Ich weiß nicht, ob ich in dieser Woche noch zum Testen komme, aber vielleicht Paf es mal versuchen.

Sobald ich zu einem Ergebnis gekommen bin, werde ich berichten.

Viele Grüße
IT_Sky (Marcel)


#5

Hi,
wie kann man sich das vorstellen? Kann man dann über ODBC mit der Workbench die PSQL-DB öffnen?
LG


#6

Hi paf,

in den letzten Tagen bin ich leider nicht wirklich dazu gekommen.
Frühestens Morgen kann ich mich wieder mit dem Thema auseinander setzen.

Unter folgendem Link wird alles beschrieben:
https://dev.mysql.com/doc/workbench/en/wb-migration-database-postgresql.html

Gruß
IT_Sky