Resposta simples: você precisa pg_dump, instalar o novo 8.4 e, em seguida, carregar.
Nenhuma resposta tão simples - você pode usar o pg_migrator para fazer a atualização dos arquivos binários no local, mas ainda não testei isso.
Estou pensando em atualizar o Postgres 8.3.3 para 8.4.2 na minha máquina (ele tem o Windows Vista).
O Windows Installer (um instalador de um clique) para o Postgres 8.4.2 que pode ser baixado de enterprisedb.com oferece apenas uma nova instalação (ele não reconhece minha instalação atual da v8.3.3).
É possível atualizar com todos os bancos de dados existentes convertidos e visíveis (migrados automaticamente?) na nova versão logo após a atualização? Ou eu tenho que fazer algo mais - backup / restaurar todos os meus bancos de dados manualmente?
Resposta simples: você precisa pg_dump, instalar o novo 8.4 e, em seguida, carregar.
Nenhuma resposta tão simples - você pode usar o pg_migrator para fazer a atualização dos arquivos binários no local, mas ainda não testei isso.
Eu tentei pg_migrator e:
A versão mais recente (8.4.11) não é apropriada para o meu pacote de migração - ele permite a migração para 8.5, mas eu preciso migrar para o 8.4.2.
Performing Consistency Checks
Checking old data directory (c:\program files\postgresql.3\data)ok
Checking new data directory (c:\program files\postgresql.4\data)ok
This binary was built using 8.5 PostgreSQL sources; it must be
built using 8.4 PostgreSQL sources to match the new cluster.
mas ... não há informações na home page do pg_migrator que versão do migrator é para qual versão de destino do Postgres. Eu baixei e instalei v8.4.4 e parece boa versão, mas aqui está o que eu digo:
mapped win32 error code 2 to 2
Old and new pg_controldata date/time storage types do not match.
You will need to rebuild the new server with configure
--disable-integer-datetimes or get server binaries built
with those options.
Então, não é tão automático para mim. Eu acho que o antigo clássico pg_dump / restore fará melhor.