Estimados miembros del foro, una alegria reencontrarme luego de tantos años. Les pido disculpas por lo largo de mi consulta pero quier explicarme lo mejor posible
Uso postgres 9.2 y el aplicativo esta desarrollado en java, es web, y en la arquitectura para resumir digamos esta spring, por lo que uso tomcat. Parte de la consulta y modificacion de datos se hace tambien en arquitectura cliente servidor (usando qgis, y otros aplicativos) Por definición toda la seguridad la maneja el servidor, debido a que se puede ingresar desde distintas arquitecturas, y ademas porque estoy usando reglas (con security barrier) para simular VPD de oracle. Para esto requiero que cada usuario entre por donde entre fuera un usuario de la base de datos, el problema es que java- tomcat se conectan por un pool, lo que resuelvo metiendo SET SESSION AUTHORIZATION 'xxxx', en un beans adecuado de spring, me garantiza que antes de insertar leer borrar o modificar un dato, el pool de coneccion le dice al servidor, soy el usuario pool, pero me conecto en nombre de 'xxxx'. Lo que en oracle (si no estoy equivocado) es proxy authentication. Asi todo anda bien, pero el problema es que pool debe ser si o si super usuario, y eso me molesta. Pues el equipo de desarrollo puede tener información que no quiero que tenga. Por todo esto: 1) Como puedo darle derechos al role pool, sin darle superusuario de modo que pueda hacer el set en cuestión? 2) Que es mejor SET SESSION AUTHORIZATION o SET ROLE ? Yo tengo todo andando con la primera opción, me cambia session_user, current_user y user, mientras que el segundo me cambia current_user y user, dejando como estaba session_user, lo que me da mas posibilidades al programar los procedimientos. Busque diferencias entre uno y otro pero encontre muy poco. Desde ya muchas gracias, y nuevamente disculpen la molestia. Roumieu, Victor Hugo