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 ALTER ROLE comando. Si creas un usuario nuevo con el cliente psql, puedes asociarlo con un rol diferente o asignarle privilegios diferentes.
Antes de comenzar
Para usar comandos de PostgreSQL para administrar usuarios en un clúster, necesitas lo siguiente:
- Acceso al cliente
psql - Acceso al usuario de la base de datos
postgreso a otro usuario con los privilegios administrativos adecuados
Crea un usuario de la base de datos
Para crear un usuario de la base de datos que se autentique directamente con la base de datos 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 la base 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 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 otorgarle privilegios de superusuario a un usuario, otórgale el rol alloydbsuperuser.
Cambia la contraseña de un usuario de la base de datos
Para establecer una contraseña nueva para un usuario estándar de la base de datos de PostgreSQL, usa el siguiente comando:
ALTER USER USERNAME WITH PASSWORD 'PASSWORD';
Reemplaza lo siguiente:
USERNAME: Es el nombre de usuario del 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 anteriormente 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 borrarlo, debes quitarle todos los objetos que posee o reasignar su propiedad, y revocar todos los privilegios que se le hayan otorgado a la función en otros objetos.
Para borrar un usuario, usa el siguiente comando:
DROP ROLE USERNAME;