Ich muss eine sehr große PostGIS-Datenbank (~ 320 GB) von Server1 (PostgreSQL 9.1, PostGIS 1.5) auf Server2 (PostgreSQL 9.3, PostGIS 2.1) verschieben und aktualisieren .
Der Upgrade-Prozess ist gut dokumentiert . Das Problem ist, dass auf Server1 nicht genügend Speicherplatz vorhanden ist , um die Datei dort abzulegen, zu überprüfen , dann auf Server2 zu kopieren und die Summen zu überprüfen. Ich habe es versucht:
- Piping des Dumps von Server1 zu Server2 mit
nc
. - Schreiben einer Dump-Datei direkt in ein Server2- Dateisystem, das mit Server1 gemountet wird
sshfs
.
Beide Male scheint die Dump-Datei beschädigt worden zu sein. pg_restore
brach an verschiedenen Stellen mit Fehlern wie diesen:
pg_restore: [compress_io] could not uncompress data: incorrect data check
Kann jemand einen besseren Weg vorschlagen, um diesen Schritt und dieses Upgrade durchzuführen?
UPDATE: NFS ausprobiert (und SSHFS erneut versucht). Es ist klar, dass diese Remote-Dateisysteme nicht so viele Daten zuverlässig übertragen können . In der resultierenden SQL-Datei fehlen sichtbar Blöcke, was beim Import zu folgenden Syntaxfehlern führt:
ERROR: invalid input syntax for integer: "8266UPDATE spatial_ref_sys o set auth_name = n.auth_name, auth_srid = n.auth_srid, srtext = n.srtext, proj4text = n.proj4text FROM _pgis_restore_spatial_ref_sys n WHERE o.srid = n.srid;"