Como instalo o cliente de linha de comando do Postgres (psql) no OS X usando o MacPorts?

3

Estou tentando instalar o cliente de linha de comando Posgtres (normalmente o psql no Linux). Eu tenho postgres instalados através do MacPorts (postgresql90 e postgresql90-server) mas ainda não vejo o cliente instalado.

Eu pesquisei o MacPorts e não consegui encontrar o caminho para o cliente ou uma porta separada para instalá-lo independentemente.

Como posso instalar o cliente de linha de comando do psql?

    
por Freiheit 01.07.2011 / 17:03

3 respostas

1

Encontrou a resposta em: link

Like the general MacPorts installation, the path to PostgreSQL command-line tools is not known to the system, so I append /opt/local/lib/postgresql84/bin in /etc/paths.

Parece que o MacPorts instala o executável, mas não o coloca no caminho.

    
por 01.07.2011 / 22:11
3

A Macports empacota diversas versões do PosgreSQL onde os nomes dos pacotes de cada versão contêm a string de versão. Então, se XY é a concatenação da versão principal e secundária do PostgreSQL (do 8.1 até o 9.4 beta), os pacotes são assim chamados:

  • postgresqlXY (instala o cliente, 'psql'.)
  • postgresqlXY-server (essa é a parte do servidor.)
  • postgresqlXY-doc (e assim por diante)

Você simplesmente precisa ativar a versão instalada de sua escolha. Se você instalar o pacote "postgresqlXY" (qualquer versão), você também terá o pacote "postgresql_select" como uma dependência, que permite consultar a versão ativa do postgresql:

$ port select --list postgresql
    Available versions for postgresql:
    none (active)
    postgresqlXY

Você pode especificar a versão ativa assim:

$ port select --set postgresql postgresqlXY
Selecting 'postgresqlXY' for 'postgresql' succeeded. 'postgresqlXY' is now active.

Isso faz com que Macports coloquem um symlink de / opt / local / bin / psql (que é no caminho porque você instalou Macports) no binário instalado em / opt / local / lib / postgresqlXY / bin / psql (que não está no caminho):

$ which psql # That created this symlink to the active version:
/opt/local/bin/psql

Note que você sempre pode acessar a versão X.Y do binário do cliente via / opt / local / bin / psqlXY, que é outro symlink mantido pelo Macports para cada versão instalada, não importando o que esteja ou não selecionado. Ele estava lá antes de você selecionar a versão XY e, da mesma forma, permanecerá se você selecionar "nenhum" para remover o nome binário padrão de seu caminho:

$ port select postgresql none
Selecting 'none' for 'postgresql' succeeded. 'none' is now active.
$ which psql   # Not on the path because 'none' is active!
$ which psqlXY # But this is always present:
/opt/local/bin/psqlXY

As pessoas acabam precisando de pronto acesso a várias versões de vários softwares, e o Macports facilita isso empacotando várias versões de cerca de 50 exemplos populares usando esse mecanismo de seleção e o correspondente pacote somesoftware_select como dependência. Veja a lista:

$ port search _select
    
por 28.10.2014 / 20:21
0

Verifique se você instalou o cliente psql mais recente (93 no meu exemplo)

sudo port install postgresql93

Em seguida, no seu arquivo ~/.bash_profile , adicione

PATH=/opt/local/lib/postgresql93/bin/:$PATH export PATH

    
por 30.04.2014 / 00:34