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

Started by Juan Manuel Diaz Laraover 19 years ago3 messages
#1Juan Manuel Diaz Lara
jmdiazlr@yahoo.com

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.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Juan Manuel Diaz Lara (#1)
Re: How to allocate a global variable (to implement virutal databases)

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

#3Juan Manuel Diaz Lara
jmdiazlr@yahoo.com
In reply to: Tom Lane (#2)
Re: How to allocate a global variable (to implement virutal databases)

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.