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):
sudo -u postgres -i
Como se recomienda aquí o aquí .
Vuelva a intentarlo. Escriba exit
cuando termine de operar como usuario del sistema postgres
.
O ejecute el comando único createuser
como postgres
con sudo
, 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:
Para arrancar el sistema de base de datos, un sistema recién inicializado siempre contiene un rol predefinido. Este rol es siempre un "superusuario" y, de manera predeterminada (a menos que se modifique durante la ejecución initdb
) tendrá el mismo nombre que el usuario del sistema operativo que inicializó el clúster de la base de datos. Habitualmente, se nombrará este rol postgres
. Para crear más roles, primero debe conectarse como este rol inicial.
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.
FATAL: role "user" is not permitted to log in
, comprobar dba.stackexchange.com/questions/57723/... para eso.