如何使用几何数据类型到postgres表?

时间:2012-05-18 08:39:50

标签: database geospatial postgis postgresql-9.1

我已经设置了一个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安装以启用几何数据类型。

2 个答案:

答案 0 :(得分: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)
);

答案 1 :(得分:4)

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

您应该在数据库中安装PostGIS以使其正常工作。