Hallo,
ich möchte meine Nextcloud Datenbank von einem Pi3+ auf einen Pi 4 umziehen. Ich bin über SSH auf dem System nach Befehlseingabe blinkt der Curser Stundenlang und nichts passiert. Dann habe ich mit Strg_C abgebrochen.
Aktuelle Installation:
Raspian stretch mit PostgreSQL 9.6.13
Neue Installation:
Raspian Buster mit PostgreSQL 11.5
Habe das Dump mit
sudo -u postgres pg_dumpall -f /mnt/Backup/dump/nextcloud_all_date +"%Y%m%d%H".sql
erzeugt. und mit
sudo -u postgres pg_restore -f nextcloud_all_2020010813.sql
Variante2:
Dump mit
sudo -u postgres pg_dump --user nextcloud --host localhost -b -F c nextcloud > /home/nextcloud2001.dump
erzeugt jedoch hat kein befehl funktioniert beim Rückspielen keine Berechtigung oder Textfile usw. vermutlich habe ich den falschen Befehlsaufruf
Wo und wie kann man da ansetzen bzw. was kann ich prüfen oder anderst machen?
Muss nun der DB Benutzer und die DB vorher bestehen oder nicht?
Wie kann ich die Passwörter am alten System prüfen ob diese Richtig sind ohne am alten System was zu überspielen?
Danke Jörg
pg_dumpall erzeugt ein plain - ASCII - Dump, pg_restore erwartet aber ein Archiv, welches mit pg_dump im custom oder directory-format gemacht wurde.
Variante 2 würde z.B. was passendes erzeugen.
https://www.postgresql.org/docs/12/backup-dump.html
Der -f parameter bei pg_restore spezifiziert eine Ausgabedatei, die Eingabedatei wird ohne das -f angegeben.
Aber wie akretschmer schon sagte: eine SQL Datei wird über psql “eingespielt”, dafür ist pg_restore gar nicht gedacht
Hallo,
vielen Dank schonmal…
habe es jetzt anderst versucht nachdem immer keine Berechtigung kam habe ich die Rechte 777 für den dump gesetzt dann ging es mit:
sudo -u postgres psql --host localhost nextcloud < nextcloud_all_2020010813.sql
Nach der ganzen testerei… gibt es eine Möglichkeit alles zurückzusetzen das es so wie neu installiert ist und ich dann den Dump einspiele?
Ist in der pg_dumpall alles enthalten oder wird zusätzlich auch ein dump der DB benötigt?
Grüße Jörg
solange du beim pg_dumpall nichts eingrenzt bzw. ausschließt, macht es das, was der Name vermuten läßt.
Du kannst, wenn Du es komplett in eine leere DB haben willst, diese z.B. vorher löschen & neu erstellen. Und bitte: lies die Doku!