Обсуждение: How to allocate a global variable (to implement virutal databases)

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

How to allocate a global variable (to implement virutal databases)

От
Juan Manuel Diaz Lara
Дата:
I would like to implement a row-level security for application-level-user (the user is not a postgresql user), I wish to restrict access to rows in diferent tables based on this application-level-user. My idea is to use rules to rewrite queries based on the contents of a global variable that is set with the application-level-userid, to this end I like to set the variabale at connection-time only, and aplied to all queris by the rewrite rules.
 
I think I can write a c-function but I do not know the correct way to allocate memory with session duration, maybe simply with alloc (o should I use palloc?).
 
Or is there a solution I do not know about?
 
Thanks.


Atte.

Juan Manuel Díaz Lara


Blab-away for as little as 1¢/min. Make PC-to-Phone Calls using Yahoo! Messenger with Voice.

Re: How to allocate a global variable (to implement virutal databases)

От
Tom Lane
Дата:
Juan Manuel Diaz Lara <jmdiazlr@yahoo.com> writes:
> I would like to implement a row-level security for
> application-level-user (the user is not a postgresql user),

Have you looked at Veil?
http://veil.projects.postgresql.org/
        regards, tom lane


Re: How to allocate a global variable (to implement virutal databases)

От
Juan Manuel Diaz Lara
Дата:
Thanks, but from the vail site "windows sorry"... I am working in windows.
 
I was thinking in a simply implementation, with only global variables used with the rule system.
 
I can write the c code for this.

Tom Lane <tgl@sss.pgh.pa.us> wrote:
Juan Manuel Diaz Lara writes:
> I would like to implement a row-level security for
> application-level-user (the user is not a postgresql user),

Have you looked at Veil?
http://veil.projects.postgresql.org/

regards, tom lane



Atte.

Juan Manuel Díaz Lara


Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates.