Directus Map地图字段无法创建的解决方法 type "geometry" does not exist

后端开发Directus 194

由于Directus的map字段需要依赖PostGIS扩展,这时候我们需要安装PostGIS:https://postgis.net/

windows用户直接在这里下载即可:http://download.osgeo.org/postgis/windows/

找到对应postgres版本,查看版本的命令是:SELECT version();

建议直接下载exe安装包来安装,如“postgis-bundle-pg12x64-setup-3.2.3-1.exe”,需要注意的是一定要安装到postgres程序所在目录

接下来需要打开pgAdmin并登录账户 -> 选择数据库 -> Tool -> Query Tool -> 执行命令 CREATE EXTENSION postgis;

接下来再回到Directus添加map字段就完全没有问题了

2025年1月25日更新:

如果该字段使用大量线条多边形,并且设置了索引选项,那么在保存时候可能会因为超出默认的B Tree索引而出错,这时候需要使用PostGIS来索引,请将geo替换为相关字段

DROP INDEX IF EXISTS records_geo_index;

CREATE INDEX records_geo_index ON records USING gist(geo);

具体原因可参考:

Post Comment