Eu tenho o PostgreSQL 8.4 e 9.0 em execução no mesmo servidor (Ubuntu Lucid).
Instalei os dois via apt-get (8.4 com as fontes de pacote padrão e 9.0 depois de adicionar o ppa em https://launchpad.net/~pitti/+archive/postgresql ).
Quando executo um comando como "createdb" na linha de comando ou inicio o shell "psql", o PostgreSQL versão 8.4 é usado por padrão no meu sistema.
Então, como forço esses comandos a usar o PostgreSQL 9.0 em vez do 8.4?
ubuntu
postgresql
moedor de café
fonte
fonte
Respostas:
Supondo que o Ubuntu faça a mesma coisa que o Debian, suas duas instâncias PostGreSQL estarão em execução em portas diferentes.
Você pode verificar facilmente os arquivos de configuração para ver qual versão está em qual porta:
A maioria dos comandos do PostGreSQL usa a opção "-p ####" ou "--port = ####", para que você possa usá-lo para selecionar a versão desejada.
fonte
Use a
--cluster
opção, por exemplo (assumindo que os dois clusters sejam nomeados como principal padrão):Esquemas genéricos são:
Para listar todos os clusters instalados (nome, porta, status, diretório de dados etc.), use o
pg_lsclusters
comandoVerifique
man pg_wrapper
para mais informações.fonte
pg_wrapper
é a extensão do Debian. Essencialmente, ele envolve o comandopsql
(isto é,psql
é um link simbólico para opg_wrapper
script) com várias novas opções para facilitar o manuseio de vários clusters.Você pode usar
dpkg -L <packagename>
para ver quais arquivos um pacote específico possui. Execute-o com o pacote postgresql 9 e veja onde o comando createdb para essa versão foi armazenado.A maioria dos comandos do postgresql funcionaria na versão cruzada com a seleção apropriada do banco de dados por porta ou caminho, mas isso obviamente não se aplica aos scripts de início e aos comandos de criação.
fonte