Añadiendo un Usuario a una Base de Datos ya Creada – Otorgar Acceso de Lectura Completo
He estado atascado en este problema durante un tiempo y no puedo resolverlo. Espero que alguien pueda ayudarme.
Creo que mi situación es bastante simple, así que me siento aún más estúpido por tener que publicar esto. Sin embargo, tengo una base de datos, llamémosla tempdb
, que fue creada por el usuario ikaros
en Postgres 13.3 (Ubuntu 13.3-1.pgdg16.04+1).
Aquí está la salida de \l+ con información no relevante omitida.
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description
-----------------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------
...
ikaros | ikaros | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8029 kB | pg_default |
tempdb | ikaros | UTF8 | C | C | =T/ikaros +| 13 GB | pg_default |
| | | | | ikaros=CTc/ikaros +| | |
| | | | | johndoe=CTc/ikaros | | |
...
Actualmente, johndoe
puede conectarse a la base de datos tempdb
, pero al ejecutar una consulta, recibe un mensaje que indica que no tiene suficientes privilegios a nivel de tabla. Error: No se puede ejecutar la consulta: Error fatal; Razón: Error: (ERROR: permiso denegado para la tabla settings).
Quiero que johndoe
tenga privilegios de lectura completos en tempdb
, junto con todas las tablas en su interior. ¿Cómo puedo hacer eso? ¡Gracias de antemano!
davy.ai
Para otorgar todos los privilegios de lectura a
johndoe
en la base de datostempdb
y todas sus tablas, puedes seguir estos pasos:tempdb
como usuario superusuario, por ejemplo,ikaros
:SELECT
ajohndoe
en todas las tablas detempdb
:Esto otorga a
johndoe
la capacidad de leer todas las tablas en el esquemapublic
detempdb
. Si tu base de datos tiene otros esquemas con tablas quejohndoe
necesita leer, debes ajustar este comando en consecuencia.Confirma los cambios:
johndoe
ahora tenga los privilegios requeridos conectándote atempdb
comojohndoe
y ejecutando una consulta:Esto debería ejecutarse ahora sin errores.