Je dois déplacer et mettre à niveau une très grande base de données PostGIS (~ 320 Go) de server1 (PostgreSQL 9.1, PostGIS 1.5) vers server2 (PostgreSQL 9.3, PostGIS 2.1).
Le processus de mise à niveau est bien documenté . Le problème est que je n'ai pas assez d'espace sur server1 pour y vider le fichier, le contrôler, puis le copier sur server2 et vérifier les sommes. J'ai essayé:
- Canalisation du vidage de server1 vers server2 à l' aide de
nc. - Écrire un fichier de vidage directement sur un système de fichiers server2 qui est monté sur server1 en utilisant
sshfs.
Les deux fois, le fichier de vidage semble avoir été corrompu. pg_restores'est cassé à différents endroits avec des erreurs comme celle-ci:
pg_restore: [compress_io] could not uncompress data: incorrect data check
Quelqu'un peut-il suggérer une meilleure façon de réaliser ce mouvement et cette mise à niveau?
MISE À JOUR: A essayé NFS (et a donné à SSHFS un autre essai). Il est clair que ces systèmes de fichiers distants ne peuvent pas transférer de manière fiable autant de données . Des blocs sont visiblement manquants dans le fichier SQL résultant, provoquant des erreurs de syntaxe comme celle-ci lors de l'importation:
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;"