Tengo PostgreSQL 8.4 y 9.0 ejecutándose en el mismo servidor (Ubuntu Lucid).
Los instalé a través de apt-get (8.4 con las fuentes de paquete predeterminadas y 9.0 después de agregar el ppa desde https://launchpad.net/~pitti/+archive/postgresql ).
Cuando ejecuto un comando como "createdb" desde la línea de comandos o inicio el shell "psql", la versión 8.4 de PostgreSQL se usa de manera predeterminada en mi sistema.
Entonces, ¿cómo forzo estos comandos a usar PostgreSQL 9.0 en lugar de 8.4?
ubuntu
postgresql
molinillo de cafe
fuente
fuente

Respuestas:
Suponiendo que Ubuntu hace lo mismo que Debian, sus dos instancias PostGreSQL se ejecutarán en diferentes puertos.
Puede verificar fácilmente los archivos de configuración para ver qué versión está en qué puerto:
La mayoría de los comandos PostGreSQL toman la opción "-p ####" o "--port = ####", por lo que puede usar eso para seleccionar la versión que desee.
fuente
Use la
--clusteropción, por ejemplo (suponiendo que ambos clústeres se denominen como main por defecto):Los esquemas genéricos son:
Para enumerar todos los clústeres instalados (nombre, puerto, estado, directorio de datos, etc.) use el
pg_lsclusterscomando.Consulte
man pg_wrapperpara más información.fuente
pg_wrapperes la extensión de Debian. Básicamente, envuelve el comandopsql(es decir,psqles un enlace simbólico alpg_wrapperscript) con varias opciones nuevas para facilitar el manejo de múltiples clústeres.Puede usar
dpkg -L <packagename>para ver qué archivos posee un paquete en particular. Ejecútelo con el paquete postgresql 9 y vea dónde se almacenó el comando createdb para esa versión.La mayoría de los comandos postgresql funcionarían en versión cruzada con la selección adecuada de la base de datos por puerto o ruta, pero esto, por supuesto, no se aplica a los scripts de inicio y los comandos de creación.
fuente