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