Several times I wanted to "extend" some of the postgres objects, like roles or functions. For example, sometimes you want to add extra attributes to roles, which are application dependent. Or sometimes you want to store functions and reference them in your custom tables, without losing referential integrity. Now, postgres doesn't allow it's objects (from system tables) be referred to in your custom tables, thereby making the process of extension difficult. (cf. http://archives.postgresql.org/pgsql-general/2004-12/msg00840.php) So I wanted to ask here how people solve/implement such "extension" requirements? Regards, Davor PS using inheritance in this scenario is problematic. U can for example do this: CREATE TABLE tbl_privileges ( priv_execute integer ) INHERITS (pg_authid); but the system internally will probably always use FROM ONLY pg_authid, so it will not see the users from tbl_priviledges. IN other words, those user will not be "real roles". Note also the fact that in this way, pg_authid could seem to have it's UNIQUE constraint on rolname invalidated (besides the other INHERITANCE caveats...) And finally, I wonder if inheriting a system table is even safe... -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general