Re: Cannot reference system table
От | Tom Lane |
---|---|
Тема | Re: Cannot reference system table |
Дата | |
Msg-id | 15118.1035260961@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Cannot reference system table (Casey Allen Shobe <cshobe@secureworks.net>) |
Список | pgsql-admin |
Casey Allen Shobe <cshobe@secureworks.net> writes: > create table "schemes" ( > ... > "user_id" integer not null references "pg_user" ("usesysid"), > ... > ERROR: Referenced relation "pg_user" is not a table > As you can hopefully see, I need to reference the postgres user table > for data integrity. Can this be done? Nope :-(. The immediate cause of that complaint is that pg_user isn't a table; it's only a view on pg_shadow. But even if you'd referenced pg_shadow, the command would have been rejected. The difficulty is that foreign-key constraints require triggers, and we don't support user-defined triggers on system catalogs. (That would imply the ability to run arbitrary user-defined code during system catalog updates, which has a ton of problems that I won't enumerate here.) regards, tom lane
В списке pgsql-admin по дате отправления: