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

20

Eu 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 configuro meu sistema para usar a versão 8.4 por padrão?

    
por coffee-grinder 02.04.2011 / 21:57

1 resposta

12

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

Você pode determinar em qual porta cada servidor está atendendo procurando a variável port no arquivo /etc/postgresql/$VERSION/main/postgresql.conf do servidor relevante.

Para obter as ferramentas de linha de comando para falar com o outro servidor por padrão, você tem duas opções:

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

Como alternativa, você pode definir a variável de ambiente PGPORT para o número da porta do servidor padrão desejado. Isso deve afetar todos os aplicativos usando a biblioteca cliente do 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 versões " na documentação do PostgreSQL.

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

    
por James Henstridge 03.04.2011 / 07:00