Postgis安装

时间:2011-12-10 19:47:09

标签: postgresql postgis

我有Postgres版本8.4.8

select version();
PostgreSQL 8.4.8 on i686-pc-linux-gnu, compiled by GCC gcc-4.4.real (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5, 32-bit

通过synaptic包管理器安装Postgis,(postgis和postgresql-8.4-postgis)一切似乎都没问题。然后,当我尝试验证Postgis版本时,事情并不顺利。这两个都给出了同样的错误。

SELECT PostGIS_version();
SELECT PostGIS_full_version();

ERROR:  function postgis_full_version() does not exist
LINE 1: SELECT PostGIS_full_version();
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

软件包管理器声称已安装Postgis。如何验证安装是否有效?

1 个答案:

答案 0 :(得分:31)

PostGIS需要按按数据库进行安装。现有数据库不会自动更改。按如下方式运行安装脚本。

在PostgreSQL 8.4中,您可能还需要创建语言plpgsql。对于9.0+,它是默认的过程语言并自动安装。在您的数据库中:

createlang plpgsql yourdatabase

不能伤害。如果已经安装了plpgsql,它只会产生错误告诉你。 转到安装目录。在Debian Squeeze中,contrib包位于此处(在Ubuntu中可能有所不同)。在shell中:

cd /usr/share/postgresql/8.4/contrib/postgis-1.5

然后执行(作为postgres用户或您必须提供用户名/ pw):

psql -d yourdatabase -f postgis.sql
psql -d yourdatabase -f spatial_ref_sys.sql

您可能还想将评论安装到闪亮的新功能(可选)。在Debian Squeeze中,安装文件位于/ contrib主目录:

cd /usr/share/postgresql/8.4/contrib
psql -d yourdatabase -f postgis_comments.sql

如果您希望默认情况下将PostGIS与群集中的每个新数据库一起安装,请将其安装到template1数据库中。阅读more about that in the manual

PostGIS安装源(在Ubuntu上):

http://postgis.net/docs/manual-2.1/postgis_installation.html
http://www.paolocorti.net/2008/01/30/installing-postgis-on-ubuntu/

PostgreSQL 9.1 +

使用PostgreSQL 9.1或更新版本,您可以使用更方便的CREATE EXTENSION

CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;

您的发行版可能已准备好安装扩展程序。如果没有,请考虑PostGIS手册中的"Building PostGIS Extensions and Deploying them"章节。