Como definir qual versão do PostgreSQL deve ser usada por padrão?

23

Tenho 2 versões diferentes do PostgreSQL instaladas no meu sistema (Ubuntu Lucid):

  • /var/lib/postgresql/8.4
  • /var/lib/postgresql/9.0

Por padrão, quando executo um comando do PostgreSQL, como createdb ou psql, a versão 9.0 é usada.

Como eu configuro meu sistema para usar a versão 8.4 por padrão?

moedor de café
fonte

Respostas:

15

As várias ferramentas de linha de comando do PostgreSQL conversam com o servidor que está ouvindo na porta padrão (5432) por padrão.

Você pode determinar em qual porta cada servidor está atendendo, procurando a portvariável no /etc/postgresql/$VERSION/main/postgresql.confarquivo para o servidor relevante.

Para que as ferramentas da linha de comando conversem com o outro servidor por padrão, você tem duas opções:

Primeiro, você pode alternar as portas em que os dois servidores estão ouvindo editando os arquivos de configuração mencionados anteriormente e reiniciando os dois servidores (provavelmente você desejará parar cada um antes de iniciar qualquer um).

Como alternativa, você pode definir a PGPORTvariável de ambiente para o número da porta do servidor padrão desejado. Isso deve afetar todos os aplicativos que usam a biblioteca do cliente PostgreSQL.


Para listar o conteúdo de cada cluster de banco de dados, use psql -l -p PORT_NUMBER. Para migrar dados, consulte a seção " 24.4. Migração entre liberações " na documentação do PostgreSQL.

A exclusão de versões antigas do PostgreSQL economiza desgaste em laptops e SSDs, através da redução de gravações em disco.

James Henstridge
fonte
Boa resposta. Além disso, considere excluir as versões antigas do postgres. Cada um deles usa ram e grava no disco uma vez por minuto (ruim para SSDs e laptops).
Bryce