De acordo com Paul Ramsey :
Primeiro, para o aumento da versão do patch (por exemplo, XYZ -> XY (Z + 1)) no PostgreSQL e no PostGIS, você não precisa fazer nada além de instalar o novo software. Os dados podem permanecer no local e tudo funcionará.
Para aumentos menores de versão no PostgreSQL (por exemplo, XYZ -> X. (Y + 1) .Z), você precisa despejar e restaurar. Para aumentos menores da versão no PostGIS, você precisa fazer uma "atualização suave", o que significa deixar os dados no lugar, mas executar os scripts de atualização (por exemplo, postgis_upgrade_14_to_15.sql) depois de instalar a atualização do software.
Finalmente, para os aumentos de versões principais no PostgreSQL e PostGIS (por exemplo, XYZ -> (X + 1) .YZ), você precisa despejar e restaurar.
Você armazenou dados no esquema público?
O que me leva ao ponto real que quero enfatizar: você pode garantir a maior facilidade ao executar o dump e restaurar os dados do PostGIS se garantir que não armazena dados no esquema "público".
Nem tudo está perdido, se você armazenou dados no esquema público
"Mas Paul", você diz, "eu já tenho um despejo de banco de dados completo, isso significa que eu sou SOL?" Não, mas você precisará de um estômago forte. Primeiro, configure seu novo PostgreSQL. Crie um banco de dados em branco, carregue o PostGIS nele. Agora, carregue seu arquivo de backup nesse banco de dados. Você verá muitos erros. No entanto, esses erros serão causados pela antiga função PostGIS e pelas definições de tipo do seu arquivo de despejo em conflito com as definições de tipo existentes no banco de dados. E como você deseja as novas definições, não as antigas, tudo bem. Sua carga, apesar de todos os ruídos e erros, deve realmente funcionar. Uma vez feito, você pode mover seus dados para um bom esquema separado, para que da próxima vez possa fazer uma restauração limpa e sem erros.
Você já testou se funciona apesar dos erros?
O site PostGIS também possui uma seção sobre a atualização do PostGIS .