У меня есть таблица типа:
CREATE TABLE test(
id integer not null default nextval('test_id_seq'::regclass),
client_name_id integer not null
);
Ограничения внешнего ключа:
"test_client_name_id_fkey" FOREIGN KEY (client_name_id) REFERENCES company(id) DEFERRABLE INITIALLY DEFERRED
и таблица компании:
CREATE TABLE company(
id integer not null default nextval('company_id_seq'::regclass),
company_name character varying(64) not null
)
Теперь у меня есть триггер в тестовой таблице, который извлекает идентификатор из таблицы компаний, используя предоставленное значение client_name_id, которое является строкой, сопоставляя его с company_name. но когда я вставляю запись, PostgreSQL возвращает ошибку, что client_name_id является строкой и требуется int, что верно.
Как я могу сказать PostgreSQL не проверять вставленную строку, поскольку я позаботился об этом в своих триггерах.