Además de los usuarios y roles predeterminados que vienen con PostgreSQL, puedes crear otros usuarios o roles de PostgreSQL. Estos usuarios tienen el mismo conjunto de
privilegios que el usuario postgres:
CREATE ROLE,
CREATEDB y LOGIN. Para obtener más información sobre estos
privilegios, consulta CREATE ROLE.
Puedes cambiar los privilegios de cualquier usuario con el comando ALTER ROLE. Si creas un usuario nuevo con el cliente psql, puedes
asociarlo con un rol diferente o asignarle privilegios diferentes.
Antes de comenzar
Para usar los comandos de PostgreSQL y administrar usuarios en un clúster, necesitas lo siguiente:
- Acceso al cliente de
psql - Acceso al
usuario de la base de datos
postgreso a otro usuario con los privilegios de administrador adecuados
Crea un usuario de base de datos
Para crear un usuario de base de datos que se autentique con la base de datos directamente con un nombre de usuario y una contraseña, también conocida como autenticación integrada, usa el siguiente comando:
CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
Reemplaza lo siguiente:
USERNAME: Es el nombre de usuario del rol de usuario.PASSWORD: Es la contraseña nueva que se asignará al rol de usuario.
Para obtener más información sobre cómo crear y definir usuarios de bases de datos, consulta CREATE
USER.
Después de crear un usuario o un rol, puedes cambiar sus privilegios con el comando ALTER
ROLE
en el cliente de psql.
Otorga roles a un usuario de la base de datos
Para otorgar roles a un usuario de la base de datos, usa el siguiente comando:
GRANT ROLE to USERNAME;
Reemplaza lo siguiente:
ROLE: Es el rol que se otorgará al usuario de la base de datos.PASSWORD: Es la contraseña nueva que se asignará al rol de usuario.
Para otorgar privilegios de superusuario a un usuario, asígnale el rol alloydbsuperuser.
Cambia la contraseña de un usuario de la base de datos
Para establecer una contraseña nueva para un usuario de la base de datos de PostgreSQL estándar, usa el siguiente comando:
ALTER USER USERNAME WITH PASSWORD 'PASSWORD';
Reemplaza lo siguiente:
USERNAME: Es el nombre de usuario de la base de datos.PASSWORD: Es la contraseña nueva que se asignará al rol de usuario.
Para obtener más información sobre cómo cambiar la contraseña de un usuario, consulta ALTER ROLE.
Revoca un rol de un usuario de la base de datos
Para revocar un privilegio otorgado con anterioridad de uno o más roles, o para revocar la membresía de un usuario en un rol, usa el siguiente comando:
REVOKE ROLE FROM USERNAME;
Para quitar los privilegios de superusuario de un usuario, revoca el rol alloydbsuperuser
de ese usuario.
Visualiza una lista de usuarios de la base de datos
Para ver una tabla de todos los usuarios de la base de datos y sus membresías de grupo, usa el siguiente comando:
\du
Borrar un usuario de la base de datos
Antes de borrar un usuario, debes quitarle todos los objetos que posee o reasignar su propiedad, y revocar todos los privilegios que se le hayan otorgado al rol en otros objetos.
Para borrar un usuario, usa el siguiente comando:
DROP ROLE USERNAME;