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 по дате отправления:

Предыдущее
От: Casey Allen Shobe
Дата:
Сообщение: Cannot reference system table
Следующее
От: "Stein, Jochen"
Дата:
Сообщение: Newbie question about pg_xlog