Ich speichere regelmäßig eine kleinere PostgreSQL-Datenbank, die zum Testen verwendet wird, und stelle sie später wieder her. Die Daten werden regelmäßig als Ergebnis von Tests aktualisiert, dann muss ein neuer Speicherauszug erstellt werden, und die Speicherauszüge werden regelmäßig verwendet, um die Datenbank in einem genau definierten Zustand neu zu erstellen.
Ich habe festgestellt, dass der Speicherauszug (using pg_dump -Fc database
) nur einige Sekunden dauert, die Wiederherstellung ( pg_restore -d database
) jedoch ungefähr eine Minute. Das scheint komisch. Ich hätte erwartet, dass beide ungefähr dieselbe Zeit in Anspruch nehmen (vorausgesetzt, beide Aufgaben sind E / A-gebunden).
Gibt es ein Problem mit der Wiederherstellung? Könnte ich es vielleicht schneller machen? Oder dauert die Wiederherstellung normalerweise viel länger als der Speicherauszug? (Und wenn ja, warum dann?)
Die Dump-Datei hat normalerweise ungefähr 3-4 MiB; Das DBMS ist PostgreSQL V8.4 und läuft auf einem Pentium4 3 GHz mit 1 GB RAM unter Ubuntu Linux.
Für eine Wiederherstellung muss die Datenbank viel zusätzliche Arbeit leisten:
Einige Dinge fallen mir sofort ein:
Ich bin mir jedoch nicht sicher, ob dies dieser Zeitunterschied entspricht.
quelle