Re: Access restrictions on rows depending on value of the a column

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: Access restrictions on rows depending on value of the a column
Дата
Msg-id 20040812163010.GA5791@winnie.fuhr.org
обсуждение исходный текст
Ответ на Access restrictions on rows depending on value of the a column  (Renato Cramer <renato@domsis.com.br>)
Список pgsql-general
On Thu, Aug 12, 2004 at 09:54:25AM -0300, Renato Cramer wrote:
> There is data of several enterprises (ours clients) in a single database.
> All tables have a column on primary key what identify the enterprise called
> id_enterprise.
> My objective is restrict users access on rows depending on value of the
> column id_enterprise.
> That is, an user can access data only of his enterprise.

By "user" do you mean a PostgreSQL user, i.e., a user that can
connect directly to the database?  Or do the users access the
database via an application?  How is a user associated with a
particular id_enterprise value?

What kind of access to users require?  Select only?  Or also
insert, update, and delete?

> I don't want use where clause.
> There is some way of determine this in database?

For selects you could use views that join the tables against
a lookup table using id_enterprise and CURRENT_USER.  Queries
against a view would get a subset of what's in a table, based
on who's doing the query.  This assumes that the database user
can be mapped to one or more id_enterprise values via the
lookup table.

If you need to restrict inserts, updates, and deletes, then you
could use rules and/or triggers.

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Strange pg_hba.conf error (repost)
Следующее
От: Tom Lane
Дата:
Сообщение: Re: pl pgsql grammer file contains error