rob*_*y22 1 sql postgresql postgis database-schema
注意:不是Postgis 安装的副本:类型“几何”不存在
我正在尝试使用 Postgis 几何列在名为test.
首先我跑了:
SET search_path TO test;
Run Code Online (Sandbox Code Playgroud)
然后当我尝试运行以下语句时:
CREATE TABLE spatials (id serial, name text, geo geometry, PRIMARY KEY (id));
Run Code Online (Sandbox Code Playgroud)
我收到错误 type "geometry" does not exist
我试过运行以下两个:
CREATE EXTENSION postgis;
--AND:
CREATE EXTENSION postgis SCHEMA test;
Run Code Online (Sandbox Code Playgroud)
但两者都会导致错误 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';
Run Code Online (Sandbox Code Playgroud)
这将为您提供安装 Postgis 的架构。
然后模式限定类型,public.geometry或者使用安装 Postgis 的任何模式。