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
--cluster
opció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_lsclusters
comando.Consulte
man pg_wrapper
para más información.fuente
pg_wrapper
es la extensión de Debian. Básicamente, envuelve el comandopsql
(es decir,psql
es un enlace simbólico alpg_wrapper
script) 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