Обсуждение: granted select works in psql but not via jdbc

Поиск
Список
Период
Сортировка

granted select works in psql but not via jdbc

От
"J."
Дата:
I'm trying to set up a system where users will be limited based on their access.  To do this I'm querying db_roles and if an exception is thrown, they're not a db admin.  The problem is that I've done this:

grant select on pg_roles to db_mid_level_admin;

then any member of the role db_mid_level_admin can query db_roles using psql, but when I try it in jdbc it throws an exception (permission denied for relation pg_roles).

Same user, different behavior in psql vs jdbc.  I can't make this admin level superuser because then they'd have access to some stuff they shouldn't.  Thanks.

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

Re: granted select works in psql but not via jdbc

От
Euler Taveira de Oliveira
Дата:
J. wrote:

> I'm trying to set up a system where users will be limited based on their access.  To do this I'm querying db_roles
andif an exception is thrown, they're not a db admin.  The problem is that I've done this: 
>
> grant select on pg_roles to db_mid_level_admin;
                  ^^^^^^^^^
Wouldn't it be db_roles?

--
  Euler Taveira de Oliveira
  http://www.timbira.com/


Re: granted select works in psql but not via jdbc

От
"J."
Дата:
db_roles doesn't seem to exist as a table.  A lot of tables seem to start with "pg_" if they deal with roles and privileges.

I was able to solve the problem by creating dummy tables that had very specific privileges and catching exceptions to determine what group the user belonged to so I could display the appropriate options.  I got the grade on the assignment, but I still don't get why a user could select from pg_roles from the psql prompt, but not via jdbc statements.

Euler Taveira de Oliveira <euler@timbira.com> wrote:
J. wrote:

> I'm trying to set up a system where users will be limited based on their access. To do this I'm querying db_roles and if an exception is thrown, they're not a db admin. The problem is that I've done this:
>
> grant select on pg_roles to db_mid_level_admin;
^^^^^^^^^
Wouldn't it be db_roles?

--
Euler Taveira de Oliveira
http://www.timbira.com/


__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com