
Estoy siguiendo este tutorial y al iniciar sesión como postgres ejecuto:
createuser --interactive
nombre proporcionado y superusuario elegido
entonces:
createdb dogspot
pero al intentar
sudo -i -u dogspot
Yo obtengo:
postgres@ip-172-31-12-126:/home/ubuntu$ sudo -i -u dogspot
sudo: unknown user: dogspot
sudo: unable to initialize policy plugin
pero el usuario existe con seguridad, porque al intentar crear un usuario una vez más aparece un mensaje acerca de uno que ya existe. Se agradecerán algunos consejos sobre cómo hacerlo correctamente.
versión de base de datos:
psql (PostgreSQL) 9.3.4
versión del sistema operativo:
Ubuntu 14.04 LTS
ACTUALIZAR:
Parece que se necesitaba todo lo necesario para crear un usuario de Linux antes con el nombre correspondiente:
sudo useradd -d /home/dogspot -m dogspot
sudo passwd dogspot
Respuesta1
Está confundiendo a los usuarios de PostgreSQL y a los usuarios del sistema operativo.
Un usuario de PostgreSQL puede existir sin un usuario de sistema operativo correspondiente.
De forma predeterminada, las conexiones utilizan peer
autenticación, donde debe ejecutarse como el usuario del sistema operativo con el mismo nombre que el usuario de PostgreSQL al que intenta conectarse.Puedes cambiar eso pg_hba.conf
aunque, para todos los usuarios o solo para algunos usuarios/DB. Para más detalles ver elautenticación de clientecapítulo.