在创建PostGIS空间数据库模板时,命令在GeoDjango中的事务块结束时被忽略

时间:2013-12-04 16:03:02

标签: django transactions geospatial postgresql-9.1 postgis

尝试使用此Document创建空间数据库模板,但是当涉及到针对数据库($ psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql)执行文件中的命令时,它总是带给我像这个:  “template_postgis2=# \i /usr/share/postgresql/9.1/contrib/postgis-2.1/postgis.sql psql:/usr/share/postgresql/9.1/contrib/postgis-2.1/postgis.sql:6056: ERROR: current transaction is aborted, commands ignored until end of transaction block ROLLBACK”
到目前为止没有任何变化..
什么可能是错的提示?
谢谢。

1 个答案:

答案 0 :(得分:0)

由于您将PostgreSQL 9.1与PostGIS 2.1结合使用,因此无需为空间数据库创建模板。只需使用CREATE EXTENSION在空间上启用您的数据库:

CREATE EXTENSION postgis;

请注意,安装PostGIS 2.1软件包后,应该已经有template_postgis_20模板,因此您可以在创建新数据库时立即启用PostGIS扩展模块:

CREATE DATABASE mydb TEMPLATE template_postgis_20;

这与创建空白数据库(使用默认的template1数据库模板)然后运行CREATE EXTENSION postgis;命令具有完全相同的效果。

相关问题