Estoy configurando mi PostgreSQL 9.1. No puedo hacer nada con PostgreSQL: no createdb
puedo, no puedo createuser
; todas las operaciones devuelven el mensaje de error
Fatal: role h9uest does not exist
h9uest
es mi nombre de cuenta, y sudo apt-get install
PostgreSQL 9.1 bajo esta cuenta.
Error similar persiste para la root
cuenta.
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 exist
Y el error,can't create role, it already exists
consulte esta respuesta: stackoverflow.com/a/56658832/1689770Respuestas:
Use el usuario del sistema operativo
postgres
para 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 (h9uest
en su caso):Como se recomienda aquí o aquí .
Vuelva a intentarlo. Escriba
exit
cuando termine de operar como usuario del sistemapostgres
.O ejecute el comando único
createuser
comopostgres
consudo
, 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
ident
autenticación .postgres
es 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 etc
como usuario postgres ... ¿Cómo instalar un programa? Consulte este problema de instalación de S2geometry .su postgres
.sudo -u postgres
no funciona, mientrassudo -u postgres -i
funciona! ¿Qué hace la-i
bandera?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:create
desde 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_user
funcionó bien)psql: FATAL: role "jonny" does not exist
bien,sudo -u postgres -s createuser jonny
entonces ¿por quécreateuser: creation of new role failed: ERROR: role "jonny" already exists
creando 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 template1
desde 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 username
Instalar postgres usando
apt-get
no 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)
-s
bandera en el primer comando), puede crear la base de datos como usted mismo. No necesitarás corrercreatedb
comopostgres
.Esto funciona para mi:
fuente
postgres
(probado en Linux y Windows).role postgres does not exist
Método de trabajo,
vi /etc/postgresql/9.3/main/pg_hba.conf
local all postgres peer
aquí cambiar de pares de confianzareiniciar,
sudo service postgresql restart
ahora intenta,
psql -U postgres
fuente
trust
mé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.conf
Para la versión Postgres 9.5, use el siguiente comando:
Espero que esto ayude.
fuente
fuente
psql postgres
resultados:psql: FATAL: role "root" does not exist
psql 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
initdb
hizo el truco para mí.Esta solución se proporciona en el Wiki de PostgreSQL - Primeros pasos :
fuente
Para Windows usuarios de :
psql -U postgres
Entonces debería ver la interfaz de línea de comandos para PostgreSQL:
postgres=#
fuente
Siga estos pasos y funcionará para usted:
msfconsole
db_connect user:pass@host:port.../database
siento, 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.yml
en el emplazamiento :/usr/share/metasploit-framework/config
msfconsole: msf>db_status
verás que está conectado.fuente
volcar y restaurar con
--no-owner --no-privileges
banderasp.ej
volcado
pg_dump --no-owner --no-privileges --format=c --dbname=postgres://userpass:username@postgres:5432/schemaname > /tmp/full.dump
restaurar
pg_restore --no-owner --no-privileges --format=c --dbname=postgres://userpass:username@postgres:5432/schemaname /tmp/full.dump
fuente