"Ошибка 42P01: связь не существует" (непубличная схема в PostgreSQL)

Я хочу создать внешний ключ, но я получил ошибку 42P01: отношение solicitantes не существует.

У меня есть схемы: общественные и лабораторные.

Моя таблица называется процедурой. Я хочу создать внешний ключ к таблице запросов. Оба принадлежат лабораторной схеме. Даже автозаполнение поля целевой таблицы работает и найти таблицу.

Я вижу это:

  • Я могу создать приоритетный ключ для любых таблиц публичной схемы.
  • Я не могу создать ключ поиска для любых таблиц схемы laboratorio. Ошибка при создании внешнего ключа.

Я использую программное обеспечение Jetbrains DataGrip.

Это DDL таблицы под названием "solicitantes":

CREATE TABLE laboratorio.solicitantes
(
  id_solicitante serial NOT NULL,
  nombre_solicitante character varying(100) NOT NULL,
  CONSTRAINT solicitantes_pkey PRIMARY KEY (id_solicitante)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE laboratorio.solicitantes
  OWNER TO roby;

CREATE UNIQUE INDEX solicitantes_id_solicitante_uindex
  ON laboratorio.solicitantes
  USING btree
  (id_solicitante);

CREATE UNIQUE INDEX solicitantes_nombre_solicitante_uindex
  ON laboratorio.solicitantes
  USING btree
  (nombre_solicitante COLLATE pg_catalog."default");

Я думаю, что мне нужно указать имя схемы, но я не знаю, где это сделать в DataGrip.

2 ответа

Решение

У меня была такая же проблема с добавлением внешних ключей к таблице в пользовательской схеме из окна изменения таблицы. Добавление схемы в поле "Таблица назначения" также не сработало. Вместо этого я выбрал "Открыть в редакторе", а не "Выполнить в базе данных" и добавил схему к имени таблицы в сгенерированном операторе, и она работала нормально.

Вы пытались добавить явную схему в таблицу solicitantes?

Другие вопросы по тегам