Saya perlu memindahkan dan meningkatkan database PostGIS yang sangat besar (~ 320 GB) dari server1 (PostgreSQL 9.1, PostGIS 1.5) ke server2 (PostgreSQL 9.3, PostGIS 2.1).
Proses peningkatan didokumentasikan dengan baik . Masalahnya adalah saya tidak punya cukup ruang di server1 untuk membuang file di sana, checksum itu, lalu salin ke server2 dan memverifikasi jumlah. Saya mencoba:
- Perpipaan dump dari server1 ke server2 menggunakan
nc
. - Menulis file dump langsung ke sistem file server2 yang dipasang di server1 menggunakan
sshfs
.
Kedua kali file dump tampaknya telah rusak. pg_restore
pecah di tempat berbeda dengan kesalahan seperti ini:
pg_restore: [compress_io] could not uncompress data: incorrect data check
Adakah yang bisa menyarankan cara yang lebih baik untuk mendapatkan langkah ini dan peningkatan dilakukan?
UPDATE: Mencoba NFS (dan mencoba lagi SSHFS). Sudah jelas bahwa sistem file jarak jauh ini tidak dapat secara andal mentransfer data sebanyak ini . Blok tampak hilang dari file SQL yang dihasilkan, menyebabkan kesalahan sintaksis seperti ini selama impor:
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;"