Software
Menú
Gamersmafia es ahora un archivo de solo lectura.

No existe el rol "root" en PostgreSQL

Buenas,


resulta que estoy teniendo un problema a la hora de crear una nueva base de datos en PostgreSQL desde Ubuntu (lo tengo instalado en una máquina virtual en Windows, a la cual accedo mediante VMWare). El problema, es que cuando introduzco el comando createdb, me devuelve el mensaje:

createdb: no se pudo conectar a la base de datos postgres: FATAL: no existe el rol >

Obviamente he probado tanto con "sudo" como sin él. Al ver este error, fui a /etc/postgresql/8.4/main/ mediante la terminal y abrí el archivo pg_hba.conf donde lo único de relevancia que hay es esto:

#Database administrative login by UNIX sockets

  local          all                        postgres                                      md5

#TYPE         DATABASE          USER            CIDR-ADDRESS        METHOD

  local          all                        all                                                 trust

# "local" is for UNIX domain socket connections only

El resto del documento está formado por líneas de explicación que son ingoradas por #. Creo que el error está en ese documento, pero he intentado reinstalar el PostgreSQL, purgarlo e incluso eliminar el propio archivo definiendo yo las lineas que os he mostrado de nuevo y nada. ¿Alguno sabe si me estoy dejando algo por poner en este documento o en otro sitio?

PD: Ni que decir que he buscado en google hasta hartarme pero nada... Si veis algo y pensais que lo he podido pasar por alto decídmelo plz.

Recompensa: 758
Pregunta cancelada
Esta pregunta ha sido cancelada o ha sido resuelta.

Como si se me hablase en chino.

En internet a un tipo que preguntaba lo mismo le responden esto:

yo creo que con cambiar el password del usuario postgres podria acceder

al psql, pero no encuentro como cambiar ese password ya que no recuerdo
me lo haya pedido al momento de instalar el postgresql-8.2
Usa “sudo -s” y en el shell resultante “su - postgres” (creo que puedes
hacerlo en una sola orden con “sudo su - postgres”)

Y en otra web https://www.arpug.com.ar/trac/wiki/tutorial-createdb.html

En ese apartado de tu error pone lo siguiente:

Esto pasará si el administrador no ha creado una cuenta de usuario para usted. (Las cuentas de usuario de PostgreSQL son distintas que las del sistema operativo.) Necesitará convertirse en el usuario del sistema operativo bajo el cual se instaló PostgreSQL (usualmente postgres) para crear la primer cuenta de usuario. También puede ser que se le haya asignado un nombre de usuario PostgreSQL que es diferente al nombre del usuario del sistema operativo; en este caso debe usar la opción -U o establecer la variable de ambiente PGUSER para especificar su nombre de usuario PostgreSQL.

Repito, no me preguntes nada porque esto me suena a chino mandarín x’D

Suerte y saludos.

Comentario #1 por ChusGMh:
Como si se me hablase en chino.

En internet a un tipo que preguntaba lo mismo le responden esto:

yo creo que con cambiar el password del usuario postgres podria acceder

al psql, pero no encuentro como cambiar ese password ya que no recuerdo
me lo haya pedido al momento de instalar el postgresql-8.2
Usa “sudo -s” y en el shell resultante “su - postgres” (creo que puedes
hacerlo en una sola orden con “sudo su - postgres”)

Y en otra web https://www.arpug.com.ar/trac/wiki/tutorial-createdb.html

En ese apartado de tu error pone lo siguiente:

Esto pasará si el administrador no ha creado una cuenta de usuario para usted. (Las cuentas de usuario de PostgreSQL son distintas que las del sistema operativo.) Necesitará convertirse en el usuario del sistema operativo bajo el cual se instaló PostgreSQL (usualmente postgres) para crear la primer cuenta de usuario. También puede ser que se le haya asignado un nombre de usuario PostgreSQL que es diferente al nombre del usuario del sistema operativo; en este caso debe usar la opción -U o establecer la variable de ambiente PGUSER para especificar su nombre de usuario PostgreSQL.

Repito, no me preguntes nada porque esto me suena a chino mandarín x’D

Suerte y saludos.

Todo eso ya lo había leído, aunque gracias por tomar la molestia de buscarlo. Al final conseguí solucionarlo, aunque ahora me he vuelto a estancar con la creación de .sql. De todas formas, ya veré como lo hago.

Por si alguno tuviese el mismo problema, la solución fue (solo para Ubuntu):

sudo su NOMBRE_DE_USUARIO_PRINCIPAL_EN_UBUNTU
sudo gedit /etc/postgresql/8.4/main/pg_hba.conf

Entonces se abrirá el archivo pg_hba.conf, y tuve que poner el final de la siguiente forma:

Aviso que eso fue así solo en mi caso; fui poniendo usuarios a medida que me iban saliendo errores hasta que no salieron más.

Después, cambié al usuario principal de PostgreSQL:

sudo su postgres

Y finalmente, pude crear la base de datos:

createdb NOMBRE_DE_BD

Top sabios
ObiJu 186
Draco351 110
Mave 105
Alim_Jah 97
ReNeGaDo 72
2_Face 60
Casti 60
AlbeR. 57
Anferne 50
Samu. 49
Un punto = una mejor respuesta