5

我已经设置了一个 postgres 数据库(版本 9.1)并尝试使用以下查询创建一个能够存储 st_geometry 的表:

CREATE TABLE sensitive_areas (area_id integer, name varchar(128), zone st_geometry);

但我收到如下错误:

ERROR:  type "st_geometry" does not exist

我是否需要进一步配置我的 postgres 安装以启用几何数据类型。

4

2 回答 2

11

正确的类型名称是geometry. 如果您使用的是 PostGIS 2.0,则可以使用 typmod:

-- If you haven't done so already
CREATE EXTENSION postgis;

-- Make a table of Polygons, using long/lat coords
CREATE TABLE sensitive_areas (
    area_id integer primary key,
    name varchar(128),
    zone geometry(Polygon,4326)
);
于 2012-05-18T10:24:51.850 回答
4
CREATE TABLE sensitive_areas (area_id integer, name varchar(128), zone geometry);

你应该已经PostGIS在你的数据库中安装了它才能工作。

于 2012-05-18T10:12:57.147 回答