row based security ... was Different views with same name for different users - Mailing list pgsql-general

From Harald Massa
Subject row based security ... was Different views with same name for different users
Date
Msg-id 015a01c1a1f9$2dc1aa80$0100a8c0@tog2
Whole thread Raw
Responses Re: row based security ... was Different views with same name for different users  (Bruno Wolff III <bruno@wolff.to>)
List pgsql-general
Hello,

I have other words for my question, maybe they are more helpfull.

What I'm looking for is ROW BASED SECURITY.

That means:

User A is allowed to look and update some rows
User B is allowed to look and update some other rows

Example: User A is only allowed to edit customers from the USA, User B is
allowed to edit customers from Europa.

My solution is:
one field (beraterid) in the table, and a view like

create view pers as select * from totaldatabase
where case currentuser="userA" then beraterid in (1256,2523,2521,623,124)
else beraterid in (9123, 12312,12313) end


some pain is connected. BUT I strongly beliefe, there must be a simpler,
more elegant solution.

What is it?

Thanl you very much in advance

HArald


pgsql-general by date:

Previous
From: "Harald Massa"
Date:
Subject: Re: Different views with same name for different users
Next
From: Tom Lane
Date:
Subject: Re: PL/pgSQL: dynamic tablename