类型“几何”在架构上不存在,但扩展版本不存在

问题描述 投票:0回答:1

注意:不是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架构时,它可以正常工作。

这里有什么我想念的吗?

sql postgresql postgis database-schema
1个回答
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的任何模式。

© www.soinside.com 2019 - 2024. All rights reserved.