Sorry, I can't think of any to have a view created automatically for every table creation. Interesting idea, though. I wonder if you could pass the CREATE string into a function that does the proper creation.
--------------------------------------------------------------------------- Bruce David wrote: > 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 > > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html > -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly