RE: Consulta sobre pgadmin

From: Lazaro Rubén García Martinez <lgarciam(at)vnz(dot)uci(dot)cu>
To: felipe guzman <felipeguzmanv(at)gmail(dot)com>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Consulta sobre pgadmin
Date: 2012-01-18 13:52:43
Message-ID: 294D3D02D5E18D42827B2ECFEADEB688214E3F5DC3@mx-interno.vnz.uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El problema es que pgAdmin consulta el catalogo de la base de datos, para mostrar en su estructura las bases de datos, roles, usuarios, esquemas, tablespaces y demás elementos existente. Si revisas en tu log podrás ver las diferentes consultas que hace, por ejemplo para buscar las bases de datos:

SELECT db.oid, datname, db.dattablespace AS spcoid, spcname, datallowconn, (SELECT array(select coalesce('''' || rolname || '''', '') || '=' || unnest(setconfig) FROM pg_db_role_setting setting LEFT JOIN pg_roles role ON setting.setrole=role.oid WHERE setdatabase = db.oid)) AS datconfig, datacl, pg_encoding_to_char(encoding) AS serverencoding, pg_get_userbyid(datdba) AS datowner,has_database_privilege(db.oid, 'CREATE') as cancreate,
current_setting('default_tablespace') AS default_tablespace,
descr.description
, db.datconnlimit as connectionlimit, db.datcollate as collate, db.datctype as ctype FROM pg_database db
LEFT OUTER JOIN pg_tablespace ta ON db.dattablespace=ta.OID
LEFT OUTER JOIN pg_shdescription descr ON db.oid=descr.objoid
ORDER BY datname

Aunque ya después este te valida cualquier intento de conexión, porque como bien dices, solo un usuario puede conectarse a una DB y al tratar de realizar una conexión si no tienes una entrada en tu pg_hba.conf, pues no te podrás conectar, independientemente de que si esos usuarios no tienen privilegios administrativos, no podrán eliminar las bases de datos, ni crear usuario ni bases de datos.

Saludos.

De: pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de felipe guzman
Enviado el: miércoles, 18 de enero de 2012 07:25:AM
Para: Ayuda
Asunto: [pgsql-es-ayuda] Consulta sobre pgadmin

Señores, junto en saludarles les comento tengo en un servidor que posee al rededor de 12 bases de datos las cuales tienen usuarios especificos para cada base de datos, cada uno de ellos con permisos especificos es decir puede entrar a una base de datos y a un esquema pero no puede entrar a las demás base de datos..

Pero resulta que al momento de ingresar con un usuario X a la base de datos con el pg admin le muestra al usuario que existen 12 bases de datos, al momento de hacer click para ingresar a una base de datos que no tiene permiso este le da la alerta que no tiene permiso para ingresar.

Ahora mi pregunta: ¿Se pueden ocultar que el solo vea lo que tiene permiso, es decir su base de datos, y no vea ni los roles y demases?? (En el pg-admin)

nose si me explique bien?

Saludos

--
Felipe Guzman Vargas
Analista Programador Computacional
User Linux - GNU

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marco Antonio 2012-01-18 13:54:23 Re: Consulta sobre pgadmin
Previous Message Alejandro Carrillo 2012-01-18 13:38:47 Re: Tutorial de LibreOffice con postgreSQL