qual é a diferença entre os comandos “” psql “” e “” postgres “”?

4

Estou executando o leão da montanha e recebo respostas muito diferentes quando executo os comandos psql ou postgres .

Para o primeiro, recebo:

> psql
ovatsug25=#

Para o último eu recebo:

> postgres
postgres does not know where to find the server configuration file.

Você deve especificar a opção de chamada --config-file ou -D ou definir a variável de ambiente PGDATA .

Eu instalei postgres via homebrew e corri

rm /usr/bin/psql

depois de fazer isso.

Meu problema principal é fixo (o Rails inicia e se conecta ao db), mas não tenho certeza de onde está a diferença entre esses comandos ou como isso aconteceu. Ainda tentando descobrir isso enquanto isso ... Eu apreciaria qualquer ajuda.

Suas localizações

which psql
/usr/local/bin/psql

e quais postgres

which postgres
/usr/local/bin/postgres
    
por ovatsug25 29.11.2012 / 21:14

1 resposta

8

postgres é o próprio servidor e é executado separadamente de todas as conexões do cliente. Quase nunca é executado manualmente . Mesmo que você queira iniciá-lo e interrompê-lo, isso normalmente é feito por meio de pg_ctl ou um script de inicialização se você instalou um pacote postgres da sua distribuição. Não tenho certeza se a versão OSX do Postgresql tem alguma maneira especial de iniciar o servidor, mas ele precisa ser iniciado antes que qualquer cliente possa se conectar a ele.

psql é o cliente de linha de comando, que se conecta ao servidor e permite que você execute consultas individuais manualmente. Não faço ideia porque você acha que precisava rm , mas não tê-lo é simplesmente irritante, pois sem ele você terá que escrever seus próprios programas para executar comandos como "CREATE TABLE" ou "CREATE USER".

    
por 29.11.2012 / 21:33

Tags