我正在学习本教程。
http://technobytz.com/install-postgis-postgresql-9-3-ubuntu.html
我用以下命令创建了db
createdb test_db -T template_postgis2.1
但我知道这个错误
test_db2=# select postgis_version();
ERROR: function postgis_version() does not exist
LINE 1: select postgis_version();如果使用的话,这是可行的。
create extension postgis
我想知道那是好的还是我错了。因为我以前做过模板。该模板不是自动将db作为postgis吗?
发布于 2014-03-13 19:38:34
根据关于这一专题的正式文件,您必须在创建的每个新数据库中创建扩展。为什么?这与一个数据库在PostgreSQL9.1+和PostGIS-2+中启用PostGIS的方式的改变有关。以前,必须运行一系列脚本才能将PostGIS的函数、类型和其他特性加载到数据库中。因此,最佳实践是创建一个模板数据库(template_postgis等),针对该模板运行所有脚本,并针对该模板创建每个启用PostGIS的新数据库。在较新版本的PostgreSQL (9.1+)中,只需执行命令CREATE EXTENSION postgis,就可以在新数据库中启用PostGIS支持;因此,您应该完全跳过模板步骤。
因此,总结一下:
CREATE EXTENSION postgis;是PostgreSQL9.1+和PostGS-2+的发展方向。我希望这能帮你弄清楚!
https://stackoverflow.com/questions/22368806
复制相似问题