Você deve ter um usuário criado em seu banco de dados postgresql e permitir isso a partir do localhost em seu arquivo pg_hba.conf - muitos exemplos no arquivo sobre as várias opções.
Então você pode fazer:
psql -H localhost -U myuser
Eu tenho um Mac rodando OS X Lion (10.7.5), com o PostgreSQL 9.2.4 instalado. Eu inicializei um cluster de banco de dados e iniciei um servidor, tudo como o usuário postgres
. Quando tento acessar certos diretórios relacionados à minha instalação do PostgreSQL ou executar determinados binários, preciso alternar primeiro para o usuário postgres
. Por exemplo:
# Ideally I'd want this to work:
my_name$ psql
psql: FATAL: role "my_name" does not exist
# I'd settle for this working, but it doesn't
my_name$ sudo psql
psql: FATAL: role "root" does not exist
# I don't understand why this doesn't work but the next things does
my_name$ sudo su postgres psql
/opt/local/lib/postgresql92/bin/psql: /opt/local/lib/postgresql92/bin/psql: cannot execute binary file
# This works
my_name$ sudo su postgres
sh$ psql
psql (9.2.4)
Type "help" for help.
Outro exemplo:
my_name$ cd /opt/local/var/db/postgresql92/defaultdb
-bash: cd: /opt/local/var/db/postgresql92/defaultdb/: Permission denied
my_name$ sudo su postgres cd /opt/local/var/db/postgresql92/defaultdb
my_name$ pwd
/Users/my_name
my_name$ sudo su postgres
sh$ cd /opt/local/var/db/postgresql92/defaultdb
sh$ pwd
/opt/local/var/db/postgresql92/defaultdb
sudo su postgres <cmd>
não funciona, mas quando eu separar as etapas de alternar o usuário e invocar o comando, ele funciona? postgres
às permissões do usuário my_name
? Você deve ter um usuário criado em seu banco de dados postgresql e permitir isso a partir do localhost em seu arquivo pg_hba.conf - muitos exemplos no arquivo sobre as várias opções.
Então você pode fazer:
psql -H localhost -U myuser