Problema Usuario Postgres

Iniciado por Thryks, 9 Mayo 2014, 08:45 AM

0 Miembros y 1 Visitante están viendo este tema.

Thryks

Buenas, verán he instalado una base de datos Postgresql en un servidor Debian y creé el usuario "postgres".
No recuerdo la contraseña del usuario y he intentado borrarlo usando "dropuser", (estoy como root). Necesito borrar el usuario "postgres" y después crearlo pero usando la terminal. Cuando uso el comando dropuser 'usuario' me da este error:
dropuser: no se pudo conectar a la base de datos postges: FATAL: no existe el rol <<root>>. He estado googleando este error y parece que tengo que darle al usuario 'root' privilegios de administrador de la base de datos. Mi pregunta es la siguiente, como borro el usuario y si es con este comando como soluciono el error. Muchísimas gracias de antemano.
Futuro Sysadmin

EFEX

Intentaste..
Código (sql) [Seleccionar]
ALTER USER Postgres WITH PASSWORD '<newpassword>';

Tambien podes ver si tenes activado TRUST authentication(pg_hba.conf)..
Citar
# TYPE    DATABASE        USER            CIDR-ADDRESS    METHOD
     local   all                   all                                           trust         #Localhost


http://www.postgresql.org/message-id/006201c74b23$17cce130$9b0014ac@wbaus090
GITHUB 

Carloswaldo

Primero tenemos que hacer algunas aclaraciones:

Cuando instalas PostgreSQL, éste viene con un usuario de base de datos llamado postgres, es el superusuario, no lo puedes eliminar.

Algunos paquetes crean el usuario de sistema postgres al instalarlo, aunque no todos. Supongo que este no fue tu caso pues dices que tuviste que crear manualmente el usuario de sistema "postgres".

Cuando haces un "dropuser" te estás conectando a la base de datos usando socket unix con el mismo nombre de usuario de sistemas que estés usando, es decir que lo que has intentado hacer al escribir "dropuser" es conectarte a la base de datos con el nombre de usuario "root" (tu usuario de sistema) pero claro, este usuario no existe en la base de datos por lo que te dice que "no existe el rol".

Si lo que ha pasado es que te olvidaste de la contraseña del usuario de sistema "postgres", aquí hay un par de tips:


- Para entrar como usuario de sistema postgres sin saber la contraseña haz en la consola:

Código (bash) [Seleccionar]
sudo su - postgres


- Para cambiar la contraseña del usuario de sistema "postgres" desde el usuario root:

Código (bash) [Seleccionar]
passwd postgres


Nota: "dropuser" es un ejecutable de PostgreSQL, su función es eliminar usuarios de base de datos, no usuarios de sistema.