Здравствуйте.
Необходимо создать 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 на системную таблицу?
Внутреннее устройство
Внутреннее устройство 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 на системную таблицу?