Criando symlink para Postgres

2

Como desenvolvedor, costumo acessar meu banco de dados local, apenas para testar meu aplicativo antes de enviar meu código.

No entanto, acho que toda vez que eu quero acessar o Postgres, eu tenho que digitar

postgres@ubuntu:~$ /usr/local/pgsql/bin/psql test

enquanto na minha máquina de trabalho, tudo o que tenho a fazer é digitar

postgres@ubuntu:~$ psql --dbname=test --username=user

Eu tentei criar um link simbólico, que foi bem-sucedido, mas sempre que tento conectar a ele por meio desse atalho, recebo a seguinte mensagem de erro:

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Como faço para que isso funcione? Caso isso faça alguma diferença, estou usando uma versão auto-compilada da série 9.1.x.

EDITAR: Agora sei que isso não é realmente um link simbólico, mas não tenho certeza de como é chamado, ou tenho certeza de que já teria encontrado no Google. Basicamente, eu quero que ele seja executado a partir do shell digitando psql [OPTIONS] como rvm [OPTIONS] ou ruby [OPTIONS] .

Eu sei que há um pacote chamado postgresql-client-common & amp; um monte de outros pacotes do Postgres através de apt-get , mas eu preferiria não usar a versão apt-get para que eu possa atualizar o Postgres imediatamente.

    
por Edwin 14.04.2012 / 06:29

2 respostas

4

Se for apenas uma questão de chamar o psql diretamente, você precisa verificar se o caminho "/ usr / local / pgsql / bin" está incluído no $ PATH quando você está efetuando login. Muitas vezes, isso tem a ver com a configuração do PATH. variável apropriadamente em / etc / profile (ou ~ / .profile) ou se você estiver usando bash, então isso seria / etc / bashrc ou ~ / .bashrc.

por exemplo.

export PATH="$ CAMINHO: / usr / local / psql / bin"

Adicionalmente .. o comando psql espera os argumentos como segue; psql < nome_bd > < nome de usuário > (você pode usar --flags para especificar o mesmo).

Se você fornecer "teste psql" - então ele assumirá o nome de usuário atual (como visto pelo comando whoami).

Espero que isso ajude.

    
por papashou 28.04.2012 / 07:18
3

Por que não usar o alias do Linux?

alias psql=/usr/local/pgsql/bin/psql

Para criar um alias permanente, basta colocar esta linha em

~/.bashrc or ~/.bash_profile
    
por masterdam79 02.05.2012 / 07:23