Trigger on 'create table' ?

From: "Bruce David" <brucedavid(at)bigfoot(dot)com>
To: <pgsql-hackers(at)postgresql(dot)org>
Subject: Trigger on 'create table' ?
Date: 2002-10-25 17:50:45
Message-ID: 00f501c27c4f$10b5b680$6552010a@direcpc.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

All,

I'm trying to implement row level security using PostgreSQL. I envision
having column on each and every table in the database that will contain a
discriminating value that determines if a given user is able to see that row
or not. Users do not directly access the database; they get at it only
through client applications.

Is there a way to initially configure PostgreSQL such that each and every
time a 'create table foo....' command is executed that, something else would
happen instead?

For example,

CREATE TABLE weather (
city varchar(80),
lo int,
hi int,
prcp real,
date date
);

would result in the following being executed automatically:

CREATE TABLE t_weather (
city varchar(80),
lo int,
hi int,
prcp real,
date date,
hidden_column int
);

CREATE VIEW weather AS
SELECT city, lo, hi, prcp, date
FROM t_weather;

How the view gets populated is another discussion entirely.

But is there a way to set things up initially such that each 'create table'
command will exhibit the behavior described above?

Thanks.

--

Bruce

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Sullivan 2002-10-25 18:47:01 Re: idle connection timeout ...
Previous Message Marc G. Fournier 2002-10-25 17:34:04 Re: idle connection timeout ...