“错误 42P01:关系不存在”(PostgreSQL 中的非 public 模式)

“Error 42P01: relation does not exist” (non public schema in PostgreSQL)

我想创建一个外键,但出现错误 42P01:关系 solicitantes 不存在。

我必须架构:public 和 laboratorio。

我的 table 叫做 procedencias。我想为 solicitantes table 创建一个外键。两者都属于laboratorio schema。即使是目标 table 字段的自动完成功能也能找到 table.

我看到了:

我正在使用 Jetbrains DataGrip 软件。

这是名为 "solicitantes" 的 table 的 DDL:

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 中的什么地方做。

您是否尝试过将显式模式添加到 table 求职者中?

我在修改 table window 的自定义架构中将外键添加到 table 时遇到了同样的问题。将架构添加到 "Target table" 字段也不起作用。相反,我选择了 "Open in editor" 而不是 "Execute in database" 并将架构添加到生成的语句中的 table 名称并且它 运行 很好。