注意:不是 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
模式时工作正常。
这里有什么我遗漏的吗?
最佳答案
听起来 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 的任何模式。
关于sql - 架构中不存在类型 "geometry",但扩展名存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55407904/