Nextcloud Datenbank wechsel MySQL/MirianDB -> PostgreSQL – UnRaid

Was ist PostgreSQL?

PostgreSQL ist ein Datenbank-System, welches in vielen verschiedenen Programmen genutzt wird (z.B. Matrix Synapse, PeerTube). Im direkten Vergleich zu MySQL/MariaDB ist PostgreSQL ein moderneres, objektrelationales Datenbankmanagementsystem. MySQL/MariaDB sind lediglich relationale Datenbanksysteme. PostgreSQL in vielen Fällen performanter als MySQL/MariaDB.

Wechsel MySQL/MirianDB -> PostgreSQL – UnRaid-Server

Um mein Nextcloud welches auf einem UnRaid Server läuft etwas schneller zu bekommen habe ich die Datenbank gewechselt. Das ist gar nicht schwer und ich zeige euch wie ihr das mit Unraid macht. Dazu muss ich sagen das ich die Docker von Linuxserver.io nutze. Wer den offiziellen Docker nutzt muss Nextcloud nur groß schreiben meine ich.

  • Ihr geht im UnRaid auf Apps und sucht PostgreSQL14 diese App müsst ihr installieren. Hier gebt ihr auch die Daten für die neue Datenbank ein.
    • POSTGRES_PASSWORD: Eurer neues Datenbank Passwort
    • POSTGRES_USER: Der Benutzername der neuen DB
    • POSTGRES_DB: Der Name der Datenbank
Diese Daten müsst ihr euch merken. Das brauchen wir um die Daten von der MiranDB zu kopieren.
  • Ein Backup eurer aktuellen Datenbank kann nicht schaden. Ansich sollte allerdings nichts passieren
  • Als nächstes kommen wir zu dem Teil in dem wir die Datenbank wechseln hierfür nehmt ihr folgenden Code.
docker exec -it nextcloud occ db:convert-type –port 5432 –all-apps –password=“dein Passwort“ pgsql nextcloud_user 192.168.888.99 nextcloud_db
  • Kurze Erklärung was ihr im Code ändern müsst
    • –password=“dein Passwort“ hier tragt ihr euer Passwort ein von der neuen DA (POSTGRES_PASSWORD:)
    • pgsql Hier tragt ihr eure Datenbanknamen ein (POSTGRES_DB:)
    • 192.168.888.99 Eure IP der PostgreSQL14 Docker
    • nextcloud_user Den Benutzernamen der neuen DB POSTGRES_DB:
  • Wenn alles passt gebt ihr das im Terminal eueres UnRaid-Servers den Befehl ein und Bestätigt mit Enter.
  • Je nach Größe, kann der Vorgang auch länger dauern. Ihr werdet noch einmal gefragt ob ihr den Vorgang wirklich durchführen möchtet. Ihr könnt jeden Fortschritt mitverfolgen.
  • Wenn der Vorgang beendet ist, sollte euer Nextcloud wie gewohnt verfügbar sein.
Unter System im Nextcloud sollte wenn, alles geklappt hat so aussehen
  • Bevor Ihr eure MiranDB löscht würde ich den Docker erst einmal nur deaktivieren und schauen ob alles wie gewohnt funktioniert. Bei mir gab es keine Probleme und alles lief wie es das sollte.

Ich hoffe ich konnte dem einen oder anderen hiermit helfen. Ich selbst hatte keine Dokumentation gefunden die auf UnRaid ausgelegt ist. Vielleicht läuft es ja nun schneller bei euch. Über Feedback würde ich mich freuen.

4 Gedanken zu „Nextcloud Datenbank wechsel MySQL/MirianDB -> PostgreSQL – UnRaid“

  1. Vielen Dank für die Tolle Anleitung!
    ein paar Anmerkungen habe ich aber tatsächlich noch:

    1. Beim Convert-Command hast du Username und db_name vertauscht. Korrekt funktioniert es nur mit:

    docker exec -it nextcloud occ db:convert-type –port 5432 –all-apps –password=“dein Passwort“ pgsql nextcloud_user 192.168.888.99 nextcloud_db

    2. Mit dem PGSQL15 Container funktioniert es, warum auch immer, bei mir nicht. Mit PGSQL14 hat es sofort funktioniert.

    3. Wer die „Schwuppdizität“ seiner Nextcloud, auch unter MAriaDB, deutlich erhöhen möchte, sollte tunlichst die Anzahl der PHP Worker-Threads erhöhen. Standardeinstellung ist hier beim LinuxServer-Container 5, was zumindest in meinen Logs ständig für Warnmeldungen sorgte weil sie sofort ausgelastet waren. Seit ich sie auf 20 erhöht habe, ist Ruhe und die Nextcloud deutlich flotter.

    Viele Grüße & Vielen Dank!
    Stephan

    Antworten

Kommentar verfassen