¿Cómo configuro qué versión de PostgreSQL se utilizará de manera predeterminada?


23

Tengo 2 versiones diferentes de PostgreSQL instaladas en mi sistema (Ubuntu Lucid):

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

Por defecto, cuando ejecuto un comando PostgreSQL como createdb o psql, se utiliza la versión 9.0.

¿Cómo configuro mi sistema para usar la versión 8.4 de forma predeterminada?

Respuestas:


15

Las diversas herramientas de línea de comandos de PostgreSQL hablarán con el servidor que escucha en el puerto predeterminado (5432) de forma predeterminada.

Puede determinar en qué puerto está escuchando cada servidor buscando la portvariable en el /etc/postgresql/$VERSION/main/postgresql.confarchivo para el servidor relevante.

Para que las herramientas de línea de comandos hablen con el otro servidor de manera predeterminada, tiene dos opciones:

Primero, puede cambiar los puertos que escuchan los dos servidores editando los archivos de configuración mencionados anteriormente y luego reiniciando ambos servidores (probablemente querrá detener cada uno antes de comenzar).

Alternativamente, puede establecer la PGPORTvariable de entorno en el número de puerto del servidor predeterminado deseado. Eso debería afectar a todas las aplicaciones que usan la biblioteca de cliente PostgreSQL.


Para enumerar el contenido de cada grupo de bases de datos, use psql -l -p PORT_NUMBER. Para migrar datos, consulte la sección " 24.4. Migración entre versiones " en la documentación de PostgreSQL.

La eliminación de versiones antiguas de PostgreSQL ahorra el desgaste de las computadoras portátiles y SSD, a través de la reducción de las escrituras en disco.


Buena respuesta. Además, considere eliminar las versiones anteriores de postgres. Cada uno de ellos usa ram y escribe en el disco una vez por minuto (malo para SSD y computadoras portátiles).
Bryce
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.