模式上不存在类型“几何”,但扩展名存在

时间:2019-03-28 22:40:46

标签: sql postgresql postgis database-schema

注意:不能与Postgis installation: type “geometry” does not exist

重复

我正在尝试在名为test的新模式上使用Postgis几何列创建表。

首先我跑了

SET search_path TO test;

然后,当我尝试运行以下语句时:

CREATE TABLE spatials (id serial, name text, geo geometry, PRIMARY KEY (id));

我收到错误type "geometry" does not exist

我尝试运行以下两项:

CREATE EXTENSION postgis;
--AND:
CREATE EXTENSION postgis SCHEMA test;

但是两者都导致错误extension "postgis" already exists

请注意,在使用public模式时,它可以正常工作。

这里我想念什么吗?

1 个答案:

答案 0 :(得分:3)

Postgis之类的声音安装在public模式中,而不安装在test模式中。要验证您可以运行

SELECT nspname
       FROM pg_extension ext
            INNER JOIN pg_namespace nsp
                       ON nsp.oid = ext.extnamespace
       WHERE ext.extname = 'postgis';

这将为您提供安装Postgis的架构。

然后,模式将限制public.geometry之类的类型,或使用安装了Postgis的任何模式。