PostgreSQL usa roles para representar cuentas de usuario. No utiliza el concepto de usuario como otros sistemas de bases de datos. Por lo general, los roles que pueden iniciar sesión se denominan roles de inicio de sesión. Son equivalentes a los usuarios en otros sistemas de bases de datos. Cuando los roles contienen otros roles, se denominan roles de grupo.
CREAR ROL
CREATE ROLE role_name;
pg_roles
SELECT rolname FROM pg_roles;
Esto dará como resultado lo siguiente:
psql \du
Se comportará como se muestra a continuación:
Atributos de rol
CREATE ROLE name WITH option;
CONopciónSUPERCREADOBCREATEROLE
Crear roles de inicio de sesión
CREATE ROLE raju LOGIN PASSWORD 'mypassword1';
Nota: Se requiere ‘
La creación del rol es exitosa como se muestra a continuación:
2. Crear roles de superusuario
La siguiente declaración crea un rol llamado ‘Nikhil’ que tiene el atributo de superusuario:
CREATE ROLE Nikhil SUPERUSER LOGIN PASSWORD 'mypassword1';
Esto conducirá a lo siguiente:
El superusuario puede anular todas las restricciones de acceso dentro de la base de datos, por lo tanto, debe crear este rol solo cuando sea necesario.
Nota: Uno debe ser un superusuario para poder crear otro rol de superusuario.
3. Crear roles que puedan crear bases de datos
Si desea crear roles que tengan el privilegio de creación de base de datos, use el atributo CREATEDB:
CREATE ROLE dba CREATEDB LOGIN PASSWORD 'Abcd1234';
Esto conducirá a lo siguiente:
4. Crea roles con periodo de vigencia
VALID UNTIL 'timestamp'
Ejemplo:
CREATE ROLE dev_api WITH LOGIN PASSWORD 'securePass1' VALID UNTIL '2030-01-01';
Producción:
5. Crear roles con límite de conexión
Para especificar el número de conexiones simultáneas que puede realizar un rol, utilice el atributo LIMITE DE CONEXIÓN:
CONNECTION LIMIT connection_count
API
CREATE ROLE api LOGIN PASSWORD 'securePass1' CONNECTION LIMIT 1000;
Esto creará un nuevo rol de la siguiente manera:
psql
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA