Ich habe bei mir zu Hause eine (räumliche) Datenbank erstellt, die mehrere Gigabyte umfasst, und ich möchte die gesamte Datenbank so verschieben, wie sie von einem Computer meines Arbeitscomputers stammt.
Nichts Fany, ich werde eine neue postgresql / postgis db Instanz auf meinem Arbeitscomputer erstellen. Die Datenbankbenutzer können auf beiden Computern denselben Namen haben oder nicht.
Ist es möglich? Worauf sollte ich achten? Wie kann ich es schmerzfrei machen?
Ich verwende postgresql v9.1.5 mit der Erweiterung postgis. Ubuntu12.04 (Kernel 3.2.0-31)
postgresql
user528025
quelle
quelle
Antworten:
Sie können einen Speicherauszug der Datenbank ausführen:
und dann wieder in PostgreSQL auf Ihrem Arbeitscomputer importieren. Es wird einige Zeit dauern und die resultierende Datei kann, selbst wenn sie komprimiert ist, im Gigabyte-Bereich liegen, sollte aber klein genug sein, um auf einem USB-Stick enthalten zu sein.
Erstellen Sie auf Ihrem Arbeitscomputer die neue Datenbank und laden Sie den Speicherauszug:
Wenn Sie eine schnelle Verbindung haben (oder sich die Zeit nehmen können), können Sie die Datenbank sogar über eine verschlüsselte SSH-Verbindung oder Tools wie rsync über das Internet übertragen.
quelle
pg_dumpall ist der sicherste Weg, dies zu tun. Ich würde sowieso empfehlen, vor der Migration einen Dumpall zu nehmen. Das große Problem dabei ist jedoch, dass die Wiederherstellung eine Weile dauern kann, wenn es groß ist.
Sie können das Datenverzeichnis auch kopieren, vorzugsweise nach dem Stoppen Ihres Servers (Sie können pg_start_backup () anstelle des Stopps verwenden, aber alle Dokumente zum Zeitpunkt der Wiederherstellung anzeigen, bevor Sie diese Route wählen. Diese Route würde eine Ausfallzeit nahe Null ermöglichen Beachten Sie jedoch auch, dass Sie dies nur tun können, wenn die Betriebssystem- und CPU-Architektur auf beiden Systemen identisch ist. Sie können auf diese Weise nicht von Windows zu Linux oder von i686 zu x86-64 wechseln. Überprüfen Sie auch die Kernelversionen des Betriebssystems um sicherzustellen, dass die Systeme kompatibel sind.
quelle