Necesito mover y actualizar una base de datos PostGIS muy grande (~ 320 GB) del servidor1 (PostgreSQL 9.1, PostGIS 1.5) al servidor2 (PostgreSQL 9.3, PostGIS 2.1).
El proceso de actualización está bien documentado . El problema es que no tengo suficiente espacio en el servidor1 para volcar el archivo allí, sumarlo , luego copiarlo al servidor2 y verificar las sumas. Lo intenté:
- Canalizar el volcado del servidor1 al servidor2 usando
nc
. - Escribir un archivo de volcado directamente en un sistema de archivos server2 que se monta en server1 usando
sshfs
.
En ambas ocasiones, el archivo de volcado parece haberse dañado. pg_restore
rompió en diferentes lugares con errores como este:
pg_restore: [compress_io] could not uncompress data: incorrect data check
¿Alguien puede sugerir una mejor manera de hacer este movimiento y actualizar?
ACTUALIZACIÓN: Probé NFS (y le di a SSHFS otro intento). Está claro que estos sistemas de archivos remotos no pueden transferir de manera confiable esta cantidad de datos . Faltan visiblemente bloques en el archivo SQL resultante, lo que provoca errores de sintaxis como este durante la importación:
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;"
fuente
Respuestas:
Recomendaría descargar la base de datos 9.1 de su nuevo servidor 9.3 de esta manera:
Recomiendo usar el 9.3
pg_dump
yapg_dump
que siempre es compatible con versiones anteriores, pero no es compatible con versiones anteriores. En otras palabras, el más nuevopg_dump
se encargará de cualquier cambio de sintaxis que el nuevo servidor requiera y que la utilidad anterior no conozca.Asegúrese de asegurarse de que su
pg_hba.conf
ylisten_addresses
enpostgresql.conf
están configurados para permitirle conectarse y volcar de forma remota también.Si desea probar un volcado y restaurar en un solo paso, también puede intentar esto:
Espero que ayude. =)
fuente