Skip to main content

Moodle-Fehlermeldung: Config table does not contain version

Dass Fehlermeldungen nicht immer zur Fehlerursache führen, ist für IT-Admins und Programmierer nichts Neues. Wir erhielten u.a. nach einer Servermigration von Moodle 3.9 die folgende klassische Fehlermeldung:

Config table does not contain version, can not continue, sorry.

Unter dem Link „More information about this error“ erfährt man, dass wahrscheinlich der Eintrag in der version.php nicht zu dem Datenbank-Eintrag in der Tabelle mdl_config passt und man diesen prüfen bzw. korrigieren sollte. Bei unvollständigen, abgebrochenen oder fehlgeschlagenen Installationen oder Updates können die beiden Einträge unterschiedliche Werte aufweisen. Wie bereits bei einigen Fällen zuvor, waren beide Einträge identisch unter version und zeigten die aktuell installierte Moodle-Version an.

Um der Fehlerursache weiter auf den Grund zu gehen, hilft es zu wissen, dass Moodle beide Einträge miteinander vergleicht und dabei zum Einen auf die version.php und zum Anderen auf die Datenbank-Tabelle mdl_config zugreift. Hat Moodle keinen (Lese-)Zugriff auf die Datei oder die Datenbank-Tabelle, führt dies in der Regel zu der oben beschriebenen Fehlermeldung.

Ein kurzer Check der Zugriffsrechte auf das moodle-Verzeichnis zeigte, dass alles in Ordnung war. Als nächstes überprüften wir die Log-Datei des Datenbankservers (in diesem Fall eines PostgreSQL-Servers unter Debian 10) /var/log/postgresql/postgresql-11-main.log. Hier offenbarte sich schon die Fehlerursache, denn folgender Eintrag war zu finden:

user@moodle-db ERROR: permission denied for table mdl_config

Die Rechte des Datenbank-Users für die Tabellen waren zwar korrekt, allerdings passten die Rechte für das betroffene Datenbankschema nicht ganz und mussten angepasst werden. Dadurch war das Problem gelöst und die Moodle-Site wieder voll funktionsfähig. 🙂