Estoy configurando mi PostgreSQL 9.1. No puedo hacer nada con PostgreSQL: no createdbpuedo, no puedo createuser; todas las operaciones devuelven el mensaje de error
Fatal: role h9uest does not exist
h9uestes mi nombre de cuenta, y sudo apt-get installPostgreSQL 9.1 bajo esta cuenta.
Error similar persiste para la rootcuenta.
postgresql
authentication
h9uest
fuente
fuente

FATAL: role "user" is not permitted to log in, comprobar dba.stackexchange.com/questions/57723/... para eso.role doesn't existY el error,can't create role, it already existsconsulte esta respuesta: stackoverflow.com/a/56658832/1689770Respuestas:
Use el usuario del sistema operativo
postgrespara crear su base de datos, siempre y cuando no haya configurado una función de base de datos con los privilegios necesarios que correspondan al usuario del mismo nombre del sistema operativo (h9uesten su caso):Como se recomienda aquí o aquí .
Vuelva a intentarlo. Escriba
exitcuando termine de operar como usuario del sistemapostgres.O ejecute el comando único
createusercomopostgresconsudo, como lo demuestran los drees en otra respuesta.El punto es utilizar el usuario del sistema operativo que coincida con la función de la base de datos del mismo nombre para obtener acceso mediante
identautenticación .postgreses el usuario predeterminado del sistema operativo que ha inicializado el clúster de base de datos. El manual:He oído hablar de configuraciones extrañas con nombres de usuario no estándar o donde el usuario del sistema operativo no existe. Tendría que adaptar su estrategia allí.
Lea sobre los roles de la base de datos y la autenticación del cliente en el manual.
fuente
sudo etccomo usuario postgres ... ¿Cómo instalar un programa? Consulte este problema de instalación de S2geometry .su postgres.sudo -u postgresno funciona, mientrassudo -u postgres -ifunciona! ¿Qué hace la-ibandera?su, pero basado en privilegios de sudo. Verman sudo.Después de probar las soluciones de muchas otras personas, y sin éxito, esta respuesta finalmente me ayudó.
https://stackoverflow.com/a/16974197/2433309
En resumen, corriendo
crea un rol con el nombre owning_user (en este caso, h9uest). Después de eso, puede ejecutar
rake db:createdesde el terminal con cualquier nombre de cuenta que configure sin tener que ingresar al entorno de Postgres.fuente
-s, y no necesitaba usarsudo -u postgres(solocreateuser new_userfuncionó bien)psql: FATAL: role "jonny" does not existbien,sudo -u postgres -s createuser jonnyentonces ¿por quécreateuser: creation of new role failed: ERROR: role "jonny" already existscreando rol en pgsql con privilegio como "superusuario"
Luego crea un usuario
Asignar privilegio al usuario
Y luego habilite el inicio de sesión de ese usuario, para que pueda ejecutar, por ejemplo:
psql template1desde el$terminal normal :fuente
CREATE ROLE username superuser createdb login;que combina los tres pasos ...sudo -u postgres createuser --superuser $USER; sudo -u postgres createdb $USER#GRANT postgres TO usernameInstalar postgres usando
apt-getno crea un rol de usuario o una base de datos.Para crear un rol de superusuario y una base de datos para su cuenta de usuario personal:
sudo -u postgres createuser -s $(whoami); createdb $(whoami)fuente
sudo -u postgres createdb $(whoami)-sbandera en el primer comando), puede crear la base de datos como usted mismo. No necesitarás corrercreatedbcomopostgres.Esto funciona para mi:
fuente
postgres(probado en Linux y Windows).role postgres does not existMétodo de trabajo,
vi /etc/postgresql/9.3/main/pg_hba.conflocal all postgres peeraquí cambiar de pares de confianzareiniciar,
sudo service postgresql restartahora intenta,
psql -U postgresfuente
trustmétodo solo es aconsejable en un entorno completamente seguro. Si bien es posible el acceso desde conexiones no confiables, nunca exponga su clúster de base de datos de esa manera.pg_hba.confPara la versión Postgres 9.5, use el siguiente comando:
Espero que esto ayude.
fuente
fuente
psql postgresresultados:psql: FATAL: role "root" does not existpsql postgres -U postgres? Depende del usuario (-U) que tenga.En el indicador de usuario local, no en el indicador de usuario raíz, escriba
Luego ingrese la contraseña para el usuario local.
Luego ingrese el comando anterior que generó "el rol 'nombre de usuario' no existe".
Los pasos anteriores resolvieron el problema para mí. De lo contrario, envíe mensajes de terminal para los pasos anteriores.
fuente
Lo instalé en macOS y tuve que:
Aquí está la fuente: https://github.com/PostgresApp/PostgresApp/issues/313#issuecomment-192461641
fuente
La creación manual de un clúster de DB lo resolvió en mi caso.
Por alguna razón, cuando instalé postgres, no se creó el "DB inicial". Ejecutar
initdbhizo el truco para mí.Esta solución se proporciona en el Wiki de PostgreSQL - Primeros pasos :
fuente
Para Windows usuarios de :
psql -U postgresEntonces debería ver la interfaz de línea de comandos para PostgreSQL:
postgres=#fuente
Siga estos pasos y funcionará para usted:
msfconsoledb_connect user:pass@host:port.../databasesiento, no la recuerdo, pero es como esta, luego reemplace el usuario y la contraseña y el host y la base de datos con la información incluidadatabase.ymlen el emplazamiento :/usr/share/metasploit-framework/configmsfconsole: msf>db_statusverás que está conectado.fuente
volcar y restaurar con
--no-owner --no-privilegesbanderasp.ej
volcado
pg_dump --no-owner --no-privileges --format=c --dbname=postgres://userpass:username@postgres:5432/schemaname > /tmp/full.dumprestaurar
pg_restore --no-owner --no-privileges --format=c --dbname=postgres://userpass:username@postgres:5432/schemaname /tmp/full.dumpfuente