Din Adrian wrote:
Hello,
I am want to use a private table in postgresql(every client to see his own data).
Is this possible? How can I do it!

If I understand what you want, then this is traditionally done using views.

CREATE TABLE base_table (
  a integer NOT NULL,
  b text,
  u name,
  PRIMARY KEY (a)
);

CREATE VIEW my_rows AS
  SELECT a,b FROM base_table WHERE u = CURRENT_USER;

Add rules so that updating my_rows updates base_table instead. Then, revoke access on base_table (apart from your super-user) but grant it on my_rows.

As far as a user is concerned "my_rows" just contains their rows and if they log in as a different user they will see different data.
--
Richard Huxton
Archonet Ltd


---------------------------(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

Reply via email to