源码安装Postgresql8.1.3+PostGIS1.1.2
已有 644 次阅读2006-4-3 16:06
|个人分类:FreeGIS研究
源码安装Postgresql8.1.3+PostGIS1.1.2
我一向使用的Linux发行版是Debian,为的使贪图Debian安装软件的方便,但是为了使用Postgresql+PostGIS,我不得不使用源码来安装,因为在Debian的中:
Sarge: 只有Postgresql7.4
Etch: 有Postgresql7.4和8
Sid: 有Postgresql7.4和8;PostGIS是有for postgresql7.4的,而且我安装也失败,原因可能是apt源本身的问题。
使用源码来安装,不仅可以使用这些软件的最新版本,而且可以帮助自己更好地理解、更好地控制这些软件。
以下过程可以应用于各种Linux发行版而不只是Debian。
当然,过程麻烦一点,也不太适合于新手。
一 安装Postgresql8.1.3
1 下载源码。
2 解压。
3 配置,进入解压目录后可以用./configure –help来查看可用的参数。我使用的是:
# ./configure –prefix=/opt/pg –without-readline –without-zlib
前一个参数是把循照惯例把自己的软件安装到/opt目录下,后面两个参数是因为我的系统里没有安装readline和zlib,其实安装一下就可以了。
4 编译后并安装:
# make
# make install
5 增加Postgresql数据库的最高用户postgres并设置密码:
# adduser postgres
6 以用户postgres登陆:
# su – postgres
7 初始化数据库:
$ /opt/pg/bin/initdb -D /opt/pg/data
8 运行数据库服务器:
$ /opt/pg/bin/postmaster -D /opt/pg/data >logfile 2>&1 &
9 创建一个数据库:
$ /opt/pg/bin/createdb test
10 在本机上运行客户端进行管理:
$ /opt/pg/bin/psql test
这就要求你对基础的sql语法要熟悉了。
到这里Postgresql就算安装完成了。但是为了能远程使用该数据库---比如说我要在网络上另外一台Windows电脑上使用pgAdmin来管理使用该Postgresql服务器---则还需要进行一些修改,这些修改主要包括两方面的修改,一是修改Postgresql的两个配置文件,二是修改数据库的一些用户权限:
11 修改Postgresql的配置文件Postgresql.conf,该文件在数据目录/opt/pg/data下,将其中的一句:
listen_address=’localhost’
前面的注释去掉,并把’localhost’该为’*’。
12修改Postgresql的配置文件pg_hba.conf,该文件在数据目录/opt/pg/data下,在文件后面加一句:
host all all 192.168.1.0/24 password
这句的意思是:同网络中192.168.1.*的机器可以以密码的形式使用所有的数据库。更具体的参数意义直接看该配置文件中的注释就可以了
13 重新启动postgresql服务器:
$ /opt/pg/bin/pg_ctl stop -D /opt/pg/data
停止原来的服务器
$ $ /opt/pg/bin/postmaster –I -D /opt/pg/data >logfile 2>&1 &
再次启动,加一个-I参数
14 一些数据库用户权限的简单配置,以下是在psql中使用
# create user wen1 password ‘123456’;
创建一个用户并设置密码
# create database data1 owner wen1;
创建一个数据库
# create table wen11(name varcha(10))
创建一个数据表
# alter table wen11 owner wen1;
修改数据表的
现在可以在局域网内的其他电脑使用其他postgresql客户端工具,以用户名wen1打开data1数据库了。
还需要改进的一些问题:
1 中文支持的问题:使用encoding=’UTF-8’创建数据库好不好?
2 系统启动时自动启动postgresql的问题:完全可以参考Debian的相应启动脚本。
二 安装postgis
1 最好先安装proj4和OGR,我偷懒没有安装,应该只是性能上打折扣吧,并不影响安装使用。
2 下载源码。
3 解压进入目录。
4 配置:
# ./configure –prefix=/opt/postgis –pg_conf=/opt/pg/bin/pg_conf.sh
意思很明显,后面的可能有笔误。
5 编译、安装:
# make
# make install
6 之后的一些工作:
$ /opt/pg/bin/createlang plpgsql data1
$ /opt/pg/bin/psql -d data1 -f lwpostgis.sql
$ /opt/pg/bin/psql -d data1 -f spatial_ref_sys.sql
注意找到并进入包含后面那两个sql文件的目录再进去执行。
下面可以使用postgis了,先试试Postgis提供那两个转换shape文件和postgis数据的小程序吧。