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