Reference на системную таблицу

Здравствуйте.
Необходимо создать foreign key на id юзера.
как я понял он находится в pg_authid.oid - при попытке создания ошибка: "доступ запрещен pg_authid является системным каталогом"

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Внутреннее устройство

Внутреннее устройство PostgreSQL, куда входит системный каталог никак не относится к структуре вашей БД. Тогда на что вы собираетесь делать FOREIGN KEY?

необходимо хранить

необходимо хранить дополнительную информацию о пользователях СУБД - например ФИО, а также иметь возможность идентифицировать пользователя внутри моей системы. Для этого создается таблица:
{
id serial,
name varchar,
.....
sys_id oid
}
в sys_id хранится значение поля usersysid системного представления pg_user
foreign key необходим для контроля верности внесенных данных и для того чтобы каскадно удалялись записи о пользователях удаленных из СУБД.

в документации по типам данных написанно "OIDs are best used only for references to system tables. "
тоесть как я понимаю есть возможность сделать reference на системную таблицу?

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023