“错误 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.
我看到了:
- 我可以为 public 模式的任何 table 创建外键。
- 我无法为 laboratorio 模式的任何 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 名称并且它 运行 很好。
我想创建一个外键,但出现错误 42P01:关系 solicitantes 不存在。
我必须架构:public 和 laboratorio。
我的 table 叫做 procedencias。我想为 solicitantes table 创建一个外键。两者都属于laboratorio schema。即使是目标 table 字段的自动完成功能也能找到 table.
我看到了:
- 我可以为 public 模式的任何 table 创建外键。
- 我无法为 laboratorio 模式的任何 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 名称并且它 运行 很好。