Troet.Cafe und Muenchen.Social — 008.1
Kleine Zwischenbilanz: Wir stecken bei Schritt 6 fest! Wir haben ein paar Probleme beim Importieren der Datenbank und bekommen ständig neue Fehlermeldungen. Wir haben eine interne Gruppe gegründet mit einigen Menschen die sich mit Postgresql auskennen und ihre Hilfe angeboten haben. Wir werden vielleicht gleich eine ganz andere Herangehensweise versuchen.
Es wird in diesem Abschnitt sehr technisch, deshalb entschuldigt wenn dies wenig für die normalen User ist für welche diese Plattform natürlich auch / eher gedacht ist!
Wir haben diese Nacht einen Datenbank-Export von troet.cafe angefertigt, einfach ein psql dump von dem psql-server auf der Version 10.23! Diesen zu importieren in eine leere Datenbank (psql Version 15) wirft viele Fehler auf. Die originale Datenbank von troet.cafe ist 99GB, die resultierende Datenbank nach dem Import nur noch 44GB. Also läuft irgendwas sehr schief. Die einzigen Fehlermeldungen bezogen sich auf ein „foreign key constraint”.
Wir hatten es auch mit einer Datenbank der gleichen Version versucht, doch das hat umso mehr Fehler aufgeworfen.
Wir haben daraufhin versucht das Schema der Datenbank nur zu importieren aus dem bereits existierenden dump, wobei jedoch auch 5 Fehler auftreten.
Als wir jedoch das Datenbank-Schema einzeln exportieren und einzeln importierten funktionierte dies ohne Fehler!
Nun importierten wir nur die Daten und bekamen dabei wieder hunderte Fehler mit „foreign key constraint”. Die resultierende Datenbank war lediglich 33GB. Foreign key constraints verstehe Ich so, dass sie die Integrität einer Datenbank wahren. Wenn also ein Eintrag in einer Datenbank irgendwo erwähnt wird, dieser jedoch nicht existiert, dann läuft irgendwas schief. Sowas kann zum Beispiel passieren wenn man auf Mastodon einen Beitrag favorisiert, dieser Beitrag jedoch gelöscht wird. In der Liste von favorisierten Beiträgen eines Users steht dann zwar noch der Beitrag eingetragen, doch in Echt ist er gelöscht. Durch normal auftretende Fehler können solche Ungereimtheiten in der Datenbank sich verhäufen. Doch in unserem Fall scheint irgendwas beim Import groß schief zu laufen, da Ich nicht erwarte das ⅔ der Datenbank nur Fehler sind!
Es könnte möglich sein das selbst schon beim Exportieren (dump) der Datenbank Fehler auftreten, um sicherzustellen, dass dem nicht der Fall ist, machen wir folgendes:
Unsere jetzige beste Idee ist nochmal einen psql-Server der Version 10.23 aufzusetzen und daraufhin den originalen Ordner von der troet.cafe Datenbank (var/lib/psql/10/.) in eine Zip zu tun (dafür müsste troet.cafe heruntergefahren werden). Diese Zip wird übertragen auf den neuen Server und dort eingespielt, so haben wir einen postgresql Server mit allen Fehlern der originalen Datenbank und können re-index sowie repair Befehle ausführen um die Datenbank zu reparieren und Ungereimtheiten wie diese zu entfernen. Dies live an der troet.cafe Instanz zu machen wäre zu gefährlich.
Wenn diese Fehlerbehebungsmaßnahmen erfolgreich sind versuchen wir weitere Dinge wie:
- Die Datenbank exportieren und importieren und gucken oh Fehler auftreten.
- Das Upgraden auf höhere Versionen von psql.
Wenn dies erfolgreich ist und die daraus resultierenden Datenbanken keine Fehler mehr haben, dann ist jedes zukünftige Update leicht!
Wer mithelfen will / Erfahrung mit Datenbanken hat schreibt mich gerne auf Matrix an und kann Teil der Gruppe werden welche gerade daran arbeitet das Problem zu lösen!
Euer Team TroetCafe ❤️
#TroetCafeLebt #MuenchenSocialLebt #TroetCafe #MuenchenSocial #TeamTroetCafe #TeamMuenchenSocial