Acesse o PostgreSQL no Mac sem trocar de usuário

0

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
  1. Por que sudo su postgres <cmd> não funciona, mas quando eu separar as etapas de alternar o usuário e invocar o comando, ele funciona?
  2. Existe outra maneira de contornar isso para que eu não precise alternar os usuários todas as vezes?
  3. Mais geralmente, há uma maneira de fornecer ao usuário todas as permissões de outro usuário além das que ele já possui? Por exemplo. posso adicionar todas as permissões do usuário postgres às permissões do usuário my_name ?
por Amit Kumar Gupta 14.04.2013 / 13:55

1 resposta

0

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

    
por 14.04.2013 / 15:44