如何在postgres ubuntu中检查postgis的模板

时间:2014-03-13 04:00:42

标签: postgresql ubuntu postgis

我正在学习本教程

http://technobytz.com/install-postgis-postgresql-9-3-ubuntu.html

我使用此命令创建了数据库

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

1 个答案:

答案 0 :(得分:1)

根据official documentation on the topic,您必须在您创建的每个新数据库中创建扩展。为什么?这与PostgreSQL-9.1 +和PostGIS-2 +中启用PostGIS的数据库方式的改变有关。以前,必须运行一系列脚本才能将PostGIS的功能,类型和其他功能加载到数据库中。因此,最佳做法是创建模板数据库(template_postgis等),针对该模板运行所有脚本,并针对该模板创建每个新的支持PostGIS的数据库。在较新版本的PostgreSQL(9.1+)中,只需执行命令CREATE EXTENSION postgis即可在新数据库中启用PostGIS支持;因此,您应该完全跳过模板步骤。

总结一下:

  • CREATE EXTENSION postgis;是PostgreSQL-9.1 +和PostGIS-2 +的方法
  • 创建模板数据库是PostgreSQL或PostGIS的早期版本的方法。

我希望有助于清理它!