Lo típico de PostgreSQL es entrar a través de la consola con el cliente psql lo que hacemos de la siguiente forma:
usuario@maquina:~$ sudo su - postgres
postgres@maquina:~$ psql
psql (9.1.3)
Type "help" for help.
postgres=>
El problema viene cuando queremos acceder a otra db diferente de 'postres' i con un usuario diferente de 'postgres'... lo hariamos así:
usuario@maquina:~$ psql -d nombreBD -U usuario
psql: FATAL: Peer authentication failed for user "usuario"
ZASCA!!! ya tenemos el fallo...
Para arreglar este fallo debemos editar el archivo /etc/postgresql/9.1/main/pg_hba.conf
Hacemos:
usuario@maquina:~$ sudo gedit /etc/postgresql/9.1/main/pg_hba.conf
Cambiamos la linea donde pone:
local all all peer
por:
local all all md5
También podemos poner (solución ofrecida por G. Ráez Zafra):
local all all password
Reiniciamos el servicio haciendo:
usuario@maquina:~$ sudo su - postgres
postgres@maquina:~$ /etc/init.d/postgresql restart
Ahora ya lo tenemos... Hacemos:
usuario@maquina:~$ psql -d nombreBD -U usuario
Password for user usuario:
psql (9.1.3)
Type "help" for help.
nombreDB=>
Otra solución (esta ofrecida por L. M. Facerias Peralvo) si no quereis editar els archivo /etc/postgresql/9.1/main/pg_hba.conf és entrar con el siguiente comando:
usuario@maquina:~$ psql -U super -h localhost rural