English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Cada vez que se crea un objeto de base de datos, se le asigna un propietario, que generalmente es la persona que ejecuta la sentencia CREATE.
Para la mayoría de los tipos de objetos, el estado inicial es que solo el propietario (o el superusuario) puede modificar o eliminar el objeto. Para permitir que otros roles o usuarios lo utilicen, debe establecer permisos para ese usuario.
En PostgreSQL, los permisos se dividen en los siguientes tipos:
SELECCIONAR
INSERTAR
ACTUALIZAR
ELIMINAR
TRUNCAR
REFERENCIAS
TRIGGER
CREAR
CONECTAR
TEMPORAL
EJECUTAR
USO
Según el tipo del objeto (tabla, función, etc.), se aplica la permiso especificado a ese objeto.
Para asignar permisos a un usuario, se puede usar el comando GRANT.
La sintaxis básica del comando GRANT es la siguiente:
GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username }
privilege − los valores pueden ser: SELECT, INSERT, UPDATE, DELETE, RULE, ALL.
object − nombre del objeto al que se otorgará acceso. Los objetos posibles incluyen: table, view, sequence.
PUBLIC − representa a todos los usuarios.
GROUP group − otorgar permisos a un grupo de usuarios.
username − nombre de usuario al que se le otorgan los permisos. PUBLIC es una forma abreviada que representa a todos los usuarios.
Además, podemos usar el comando REVOKE para revocar permisos, sintaxis de REVOKE:
REVOKE privilege [, ...] ON object [, ...] FROM { PUBLIC | GROUP groupname | username }
Para entender los permisos, crea un usuario:
w3codeboxdb=# CREATE USER w3codebox WITH PASSWORD 'password'; CREATE ROLE
Información CREATE ROLE indica que se ha creado un usuario "w3codebox"。
Crear la tabla COMPANY (Descargar archivo SQL de COMPANY ),los datos son los siguientes:
w3codeboxdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
Ahora damos permisos al usuario "w3Los permisos asignados a "codebox":
w3codeboxdb=# GRANT ALL ON COMPANY TO w3codebox; GRANT
Información GRANT indica que todos los permisos se han asignado a "w3codebox"。
A continuación, se revoca el permiso del usuario "w3Los permisos de "codebox":
w3codeboxdb=# REVOKE ALL ON COMPANY FROM w3codebox; REVOKE
Información REVOKE indica que se han revocado los permisos del usuario.
También puedes eliminar al usuario:
w3codeboxdb=# DROP USER w3codebox; DROP ROLE
Información DROP ROLE indica que el usuario "w3codebox" ya ha sido eliminado de la base de datos.