“错误42P01:关系不存在”(PostgreSQL中的非公共模式) [英] “Error 42P01: relation does not exist” (non public schema in PostgreSQL)
本文介绍了“错误42P01:关系不存在”(PostgreSQL中的非公共模式)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想创建一个外键,但收到错误42P01:关系关注点不存在。
我必须使用架构:公共架构和实验室架构。
我的表名为Procedencias。我想创建一个外键to solicantes表。两者都属于实验室图式。即使目标表字段的自动完成功能也有效并找到该表。
我看到了:
- 我可以为公共架构的任何表创建前向键。
- 我无法创建指向Labatorio架构的任何表的前键。 创建外键时出错。
我正在使用JetBrains DataGlip软件。
这是名为"solicantes"的表的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");
我认为我必须指定架构名称,但我不知道在DataGlip中的什么地方可以指定架构名称。
推荐答案
我在从Modify TABLE窗口向自定义架构中的表添加外键时遇到了相同的问题。向"Target TABLE"字段添加架构也不起作用。相反,我选择了"在编辑器中打开"而不是"在数据库中执行",并将模式添加到生成的语句中的表名中,它运行得很好。
这篇关于“错误42P01:关系不存在”(PostgreSQL中的非公共模式)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文