Я могу сделать следующий DDL в PostgreSQL 9.6
CREATE TABLE "public"."bar" (
"bar" varchar(10) COLLATE "default" NOT NULL,
CONSTRAINT "bar_pkey" PRIMARY KEY ("bar")
);
CREATE TABLE "public"."foo" (
"foo" varchar(5) COLLATE "default",
CONSTRAINT "foo_foo_fkey" FOREIGN KEY ("foo") REFERENCES "public"."bar" ("bar") ON DELETE NO ACTION ON UPDATE NO ACTION
);
Можно ли принудительно установить внешний ключ той же длины, что и первичный ключ? Я хочу, чтобы второй DDL потерпел неудачу, поскольку foo - это varchar (5), а bar - varchar (10)
То же самое в других базах данных?