Ich habe viele verschiedene Lösungen ausprobiert, um mein Postgres-Backup wiederherzustellen. Unter MacOS hatte ich Probleme mit verweigerten Zugriffsrechten, keine Lösung schien zu funktionieren.
So habe ich es zum Laufen gebracht:
Postgres wird mit Pgadmin4 geliefert. Wenn Sie macOS verwenden, können Sie auf CMD
+ SPACE
und tippen pgadmin4
um es auszuführen. Daraufhin wird eine Browser-Registerkarte in Chrome geöffnet.
Wenn Sie Probleme haben, pgadmin4 zum Laufen zu bringen, versuchen Sie killall pgAdmin4
in Ihrem Terminal und versuchen Sie es dann erneut.
Schritte zum Erhalt von pgadmin4 + Sicherung/Wiederherstellung
1. Erstellen Sie die Sicherung
Klicken Sie dazu mit der rechten Maustaste auf die Datenbank -> "Sicherung".
![enter image description here]()
2. Geben Sie der Datei einen Namen.
Wie test12345
. Klicken Sie auf Sicherung. Dadurch wird ein binärer Dateidump erstellt, der nicht in einer .sql
Format
![enter image description here]()
3. Sehen Sie, wo es heruntergeladen wurde
Es sollte ein Popup-Fenster unten rechts auf Ihrem Bildschirm erscheinen. Klicken Sie auf die Seite "Weitere Details", um zu sehen, wohin Ihre Sicherung heruntergeladen wurde
![enter image description here]()
4. Suchen Sie den Speicherort der heruntergeladenen Datei
In diesem Fall ist es /users/vincenttang
![enter image description here]()
5. Wiederherstellen der Sicherung aus pgadmin
Wenn Sie die Schritte 1 bis 4 korrekt ausgeführt haben, haben Sie eine binäre Wiederherstellungsdatei. Es könnte der Fall eintreten, dass Ihr Kollege Ihre Wiederherstellungsdatei auf seinem lokalen Rechner verwenden möchte. Lassen Sie diese Person zu pgadmin gehen und wiederherstellen
Klicken Sie dazu mit der rechten Maustaste auf die Datenbank -> "Wiederherstellen".
![enter image description here]()
6. Datei-Finder auswählen
Stellen Sie sicher, dass Sie den Speicherort der Datei manuell auswählen, ziehen Sie die Datei NICHT per Drag & Drop auf die Uploader-Felder in pgadmin. Denn Sie werden auf Fehler bei den Berechtigungen stoßen. Suchen Sie stattdessen die Datei, die Sie gerade erstellt haben:
![enter image description here]()
7. Diese Datei finden
Möglicherweise müssen Sie den Filter unten rechts auf "Alle Dateien" ändern. Suchen Sie danach die Datei aus Schritt 4. Klicken Sie nun unten rechts auf die Schaltfläche "Auswählen", um zu bestätigen
![enter image description here]()
8. Diese Datei wiederherstellen
Sie sehen diese Seite erneut, wobei der Speicherort der Datei ausgewählt ist. Fahren Sie fort und stellen Sie sie wieder her
![enter image description here]()
9. Erfolg
Wenn alles in Ordnung ist, sollte unten rechts eine Anzeige erscheinen, die eine erfolgreiche Wiederherstellung anzeigt. Sie können zu Ihren Tabellen navigieren, um zu sehen, ob die Daten in jeder Tabelle korrekt wiederhergestellt wurden.
10. Wenn es nicht erfolgreich war:
Sollte Schritt 9 fehlschlagen, versuchen Sie, Ihr altes öffentliches Schema in Ihrer Datenbank zu löschen. Gehen Sie zu "Abfragetool".
![enter image description here]()
Führen Sie diesen Codeblock aus:
DROP SCHEMA public CASCADE; CREATE SCHEMA public;
![enter image description here]()
Versuchen Sie nun die Schritte 5 bis 9 erneut, es sollte funktionieren.
Zusammenfassung
Auf diese Weise musste ich meine Postgres-Sicherung sichern/wiederherstellen, als ich Probleme mit den Fehlerrechten hatte und mich nicht als Superuser anmelden konnte. Oder setzen Sie die Anmeldedaten für Lesen/Schreiben mit chmod
für Aktenordner. Dieser Arbeitsablauf funktioniert für einen Binärdateidump mit der Voreinstellung "Benutzerdefiniert" von pgadmin. Ich nehme an .sql
ist der gleiche Weg, aber ich habe das noch nicht getestet