postgresql - postgres - psql rol fatal no existe
psql: fatal: no existe el rol (4)
Como se señaló en los comentarios, su pg_hba.conf parece estar bien.
Por lo general, la base de datos se ejecutará como usuario de postgres (verifique ps aux | grep postgres
para averiguar el nombre de usuario con el que se está ejecutando postgres).
Inicie sesión como ese usuario, por ejemplo sudo su - postgres
, luego cree un usuario que coincida con su cuenta de usuario normal de Ubuntu ( createuser username
) y finalmente cree una base de datos con el mismo nombre y establezca el propietario ( -O
) para ese usuario de base de datos así: createdb -O username username
).
Eso debería hacer que las llamadas a psql
funcionen, y pgadmin, siempre que lo inicie como su usuario predeterminado, el nombre de usuario también debería funcionar.
Editar: De forma predeterminada, psql
usará su nombre de usuario de Linux como valor predeterminado tanto para la base de datos-nombre de usuario como para la base de datos. Puede anular el nombre de usuario utilizando -U someotherusername
, y conectarse a una base de datos diferente agregando ese nombre de base de datos a la línea de comandos, como psql someotherdbname
. También puede encontrar que psql -l
útil para listar las bases de datos existentes.
Hace poco, la última versión de ubuntu y todavía no estoy acostumbrada. Tuve varios problemas para conectar postgresql con pgadmin3.
Intenté seguir varios tutoriales para crear un servidor localhost que puedo usar en pgadmin3. Realmente no llegué a la marca y creo que empeoré al instalar, desinstalar, instalar, desinstalar, intentar las respuestas que encontré ... En este punto, no estoy seguro de que mi postgres esté limpio. Podría ser posible que tenga dos postgres instalados, una vez más, no estoy seguro. Intenté desinstalarlo, pero tuve un error que básicamente decía que postgres no estaba en sudo.
La cosa es que ahora tengo este error ejecutando psql en la consola:
$psql
psql: FATAL: role "user" does not exist
No puedo encontrar el pg_hba.conf
y en este punto tengo mucho miedo de empeorar las cosas al intentar seguir cualquier otra publicación.
¿Cómo podría hacer este trabajo?
En Windows 10 esto funciona bien.
pg_restore --format = c --verbose --no-owner --no-privileges --dbname = MYDB --username = postgres --no-password --jobs = 8 F: /MYBK.backup
--usuario = (rol) y --no-password son necesarios
Utilice el usuario postgres:
sudo su postgres
y luego usar psql.
Si aún tiene problemas, consulte este enlace: Error de PostgreSQL: Fatal: el "nombre de usuario" no existe
sudo -u postgres createuser user
puede ayudarte a crear un nuevo usuario con todos los privilegios de postgres