“错误42P01:关系不存在”(PostgreSQL中的非公共模式) [英] “Error 42P01: relation does not exist” (non public schema in PostgreSQL)

查看:15
本文介绍了“错误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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆