El 12/03/18 a las 10:22, Marcos Michel Martinez Perez escribió:
> Saludos lista, necesito saber como puedo hacer que un usuario de
> postgres al conectarse solamente le salga la BD del servidor al que
> tiene permisos, es decir yo tengo n bases de datos pero quiero que
> solamente vea la que tiene permisos

Si lo que queres es que no vea las otras bases de datos que hay en el
sistema, no se puede, ya que pg_database es un catalog global.

Muchas veces se hay preguntado esto y lamentablemente asi es como
funciona. Cualquiera puede ver las bases de datos en el cluster.

Lo que si se puede hacer es restringir el acceso a cada base de datos
con el privilegio de CONNECT con las sentencias REVOKE y GRANT:

REVOKE CONNECT ON DATABASE database_name
    FROM { [ GROUP ] role_name | PUBLIC }

Con eso el usuario verá que existe la base de datos, pero no se podrá
conectar a ella.

Saludos,

-- 
Martín Marqués                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

Reply via email to