Preciso para mover e actualizar uma base de dados muito grande (~ 320 GB) PostGIS de server1 (PostgreSQL 9.1, PostGIS 1,5) para Servidor_2 (PostgreSQL 9.3, 2.1 PostGIS).
O processo de atualização está bem documentado . O problema é que não tenho espaço suficiente no servidor1 para despejar o arquivo lá, soma de verificação, copiá-lo para o servidor2 e verificar somas. Eu tentei:
- Canalizando o dump do server1 para o server2 usando
nc
. - Escrevendo um arquivo de despejo diretamente em um sistema de arquivos server2 montado no server1 usando
sshfs
.
As duas vezes o arquivo de despejo parece estar corrompido. pg_restore
quebrou em lugares diferentes com erros como este:
pg_restore: [compress_io] could not uncompress data: incorrect data check
Alguém pode sugerir uma maneira melhor de concluir essa mudança e atualizar?
UPDATE: Tentei o NFS (e tentei novamente o SSHFS). É claro que esses sistemas de arquivos remotos não podem transferir com segurança esses dados . Os blocos estão visivelmente ausentes no arquivo SQL resultante, causando erros de sintaxe como este durante a importação:
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;"
fonte
Respostas:
Eu recomendaria despejar o banco de dados 9.1 do seu novo servidor 9.3 como este:
Eu recomendo usar o 9.3
pg_dump
comopg_dump
sempre é compatível com versões anteriores, mas não é compatível com versões anteriores. Em outras palavras, o mais novopg_dump
cuidará de quaisquer alterações de sintaxe que o novo servidor exija que o utilitário mais antigo não conheça.Certifique-se de garantir que o seu
pg_hba.conf
elisten_addresses
empostgresql.conf
são configurados para permitir que você se conectar remotamente e despejar adequadamente também.Se você quiser tentar um despejo e restaurar em uma etapa, tente também:
Espero que ajude. =)
fonte