liunx环境下源码安装PostgreSQL+PostGIS
2012-09-08 21:23
375 查看
生产环境中安装postgreSQL + postGIS
生产环境如下:
操作系统:
CentOS release 5.5 (Final)
需要安装:
postgresql 地址:http://www.postgresql.org/ftp/source/
postgis 地址:http://postgis.refractions.net/download/
proj 地址:http://trac.osgeo.org/proj/
geos 地址:http://trac.osgeo.org/geos/
安装步骤:
postgre的[b]安装 版本为9.1.3[/b]
wget http://ftp.postgresql.org/pub/source/v9.1.3/postgresql-9.1.3.tar.bz2 tar -jxvf postgresql-9.1.3.tar.bz2
cd postgresql-9.1.3
./configure
gmake --> All of PostgreSQL successfully made. Ready to install.
gmake install --> PostgreSQL installation complete.
vim INSTALL 可以查看其官方安装步骤:
./configure
gmake
su
gmake install 安装软件到指定的配置阶段prefix指定的目录下
adduser postgres 添加postgres用户,postgreSQL的默认超级管理员
mkdir /usr/local/pgsql/data 创建存放数据的目录
chown postgres /usr/local/pgsql/data 改变文件拥有者
su - postgres 切换到postgres用户
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
初始化磁盘上的数据库的存储区间
-- 成功后会提醒 /usr/local/pgsql/bin/postgres -D /data/pgsql or /usr/local/pgsql/bin/pg_ctl -D /data/pgsql -l logfile start
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
指定数据目录启动数据库服务器(输出重定向到logfile,并且运行在后台,也可以用pg_ctl来启动)
/usr/local/pgsql/bin/createdb test 创建测试数据库,确认安装顺利完成
...
配置一下环境变量:
LD_LIBRARY_PATH=/usr/local/pgsql/lib 动态连接库的所在目录
PATH=/usr/local/pgsql/bin:$PATH 为了方便使用,添加命令的搜索路径
输入pg_config 查看
BINDIR = /usr/local/pgsql/bin
DOCDIR = /usr/local/pgsql/share/doc
HTMLDIR = /usr/local/pgsql/share/doc
INCLUDEDIR = /usr/local/pgsql/include
PKGINCLUDEDIR = /usr/local/pgsql/include
INCLUDEDIR-SERVER = /usr/local/pgsql/include/server
LIBDIR = /usr/local/pgsql/lib
PKGLIBDIR = /usr/local/pgsql/lib
LOCALEDIR = /usr/local/pgsql/share/locale
MANDIR = /usr/local/pgsql/share/man
SHAREDIR = /usr/local/pgsql/share
SYSCONFDIR = /usr/local/pgsql/etc
PGXS = /usr/local/pgsql/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE =
CC = gcc
CPPFLAGS = -D_GNU_SOURCE
CFLAGS = -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv
CFLAGS_SL = -fpic
LDFLAGS = -Wl,-rpath,'/usr/local/pgsql/lib',--enable-new-dtags
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgport -lz -lreadline -ltermcap -lcrypt -ldl -lm
VERSION = PostgreSQL 9.1.3
postgreSQL 安装完毕。
注意事项:安装postgres 时
readline库(默认),命令行编辑功能,这个库虽然不是必须的(可以在配置阶段通过 --without-readline选项来取消),但是强烈建议安装readline,
使用psql时,可以使用方向键来选择和编辑前面键入的命令
查看是否安装过 rpm -qa | grep readline
zlib库(默认),主要用于pg_dump和pg_restore两个操作的数据压缩功能,这个库也不是必须的(可以在配置阶段通过--without-zlib选项来取消),
查看是否安装过 rpm -qa | grep zlib
在编译程序前必须要安装这些包,否则无法通过编译,此外,还有在配置阶段还有很多可选包,可以通过./configure --help查看
选项 描述
– prefix = prefix安装到prefix指向的目录;默认为/usr/local/pgsql
– bindir = dir安装应用程序到dir;默认为prefix/bin
– with-d ocdir= dir安装文档到dir;默认为prefix/doc
– with-p gport= port设置默认的服务器端网络连接服务TCP端口号
– with-t cl为服务端提供Tcl存储过程支持
– with-p erl为服务端提供Perl存储过程支持
– with-p ython为服务端提供Python存储过程支持
PostGIS 的安装 版本为
PostGIS 1.5.4 Release
首先下载源码包
proj-4.8.0,geos-3.3.3,libxml2-2.6.26,虽然这三个库不是安装postgis强制的,但是,没有这三个包,
postgis一定程度上失去了空间数据库的意义。因为Proj4提供了投影的相关操作,如postgis中的transform()函数,geos则为postgis提供了很多拓扑
检查功能的函数,如Touches(), Contains(), Disjoint() 还有一些空间操作函数,如Intersection(), Union() 以及 Buffer()等 ,而Libxml2则提
供了对GML和KML的操作函数,如ST_GeomFromGML(), ST_GeomFromKML()等,如果丧失了这样特性,空间数据库将会怎样
wget http://download.osgeo.org/proj/proj-4.8.0.tar.gz wget http://download.osgeo.org/geos/geos-3.3.3.tar.bz2 wget http://postgis.refractions.net/download/postgis-1.5.4.tar.gz
proj 安装
tar -xvzf proj-4.8.0.tar.gz
cd proj-4.8.0
./configure --prefix=/usr/local/proj
make
make install
geos 安装
tar -jxvf geos-3.3.3.tar.bz2
cd geos-3.3.3
./configure --prefix=/usr/local/geos
make
make install
postGis 安装
tar -xvzf postgis-1.5.4.tar.gz
cd postgis-1.5.4
./configure --with-pgconfig=/usr/local/pgsql/bin/pg_config --with-projdir=/usr/local/proj --with-geosconfig=/usr/local/geos/bin/geos-config
PostGIS is now configured for x86_64-unknown-linux-gnu
-------------- Compiler Info -------------
C compiler: gcc -g -O2
C++ compiler: g++ -g -O2
-------------- Dependencies --------------
GEOS config: /usr/local/geos/bin/geos-config
GEOS version: 3.3.3
PostgreSQL config: /usr/local/pgsql/bin/pg_config
PostgreSQL version: PostgreSQL 9.1.3
PROJ4 version: 48
Libxml2 config: /usr/bin/xml2-config
Libxml2 version: 2.6.26
PostGIS debug level: 0
-------- Documentation Generation --------
xsltproc: /usr/bin/xsltproc
xsl style sheets:
dblatex:
convert:
make
make install
安装成功
启动 postgres
su -postgres 切换到postgres用户下
pg_ctl -D /data/pgsql/ -l /data/pgsql/pgsql.log start
启动数据库
createdb template_postgis 创建数据库,此时,该数据库还没有具备空间特性
psql -f /usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql -d template_postgis
执行postgis.sql脚本,创建相关空间数据库相关的函数,类型,操作符等 执行完这个脚本,该数据库就具有了空间特性了
psql template_postgis 连接到创建的空间数据库
select postgis_full_version(); 查询postgis的版本信息,包含用到的三个库信息
POSTGIS="1.5.4" GEOS="3.3.3-CAPI-1.7.4" PROJ="Rel. 4.8.0, 6 March 2012" LIBXML="2.6.26" USE_STATS
[b]createdb [-U username] -T template_postgis my_spatial_db
[/b]下次再创建数据库,只要以这个模板就可以了
安装完毕...
注意事项:
将/usr/local/geos/lib添加到/etc/ld.so.conf中,然后运行/sbin/ldconfig,这样做的目的是/etc/ld.so.conf列出
的路径下的库文件缓存到/etc/ld.so.cache 以供使用,否则下面的编译可以会出现找不到xxx库的错误。
在执行psql -f /usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql -d template_postgis
出现 Error# could not load library "/usr/local/pgsql/lib/postgis-1.5.so": libproj.so.0: 无法打开共享对象文件: 没有那个文件或目录
解决方法:[b]LD_LIBRARY_PATH 中加入 geos lib proj lib .[/b]
cd /usr/local/pgsql/lib/ 建议链接 ln -s /usr/local/proj/lib/libproj.so.0 libproj.so.0
设置远程可访问数据库
vi /usr/local/pgsql/data/postgresql.conf
把listen_address = 'localhost' 改为 listen_address = '*'
vi /usr/local/pgsql/data/pg_hba.conf
在文件最后加入:
host all all 192.168.1.0/24 password
生产环境如下:
操作系统:
CentOS release 5.5 (Final)
需要安装:
postgresql 地址:http://www.postgresql.org/ftp/source/
postgis 地址:http://postgis.refractions.net/download/
proj 地址:http://trac.osgeo.org/proj/
geos 地址:http://trac.osgeo.org/geos/
安装步骤:
postgre的[b]安装 版本为9.1.3[/b]
wget http://ftp.postgresql.org/pub/source/v9.1.3/postgresql-9.1.3.tar.bz2 tar -jxvf postgresql-9.1.3.tar.bz2
cd postgresql-9.1.3
./configure
gmake --> All of PostgreSQL successfully made. Ready to install.
gmake install --> PostgreSQL installation complete.
vim INSTALL 可以查看其官方安装步骤:
./configure
gmake
su
gmake install 安装软件到指定的配置阶段prefix指定的目录下
adduser postgres 添加postgres用户,postgreSQL的默认超级管理员
mkdir /usr/local/pgsql/data 创建存放数据的目录
chown postgres /usr/local/pgsql/data 改变文件拥有者
su - postgres 切换到postgres用户
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
初始化磁盘上的数据库的存储区间
-- 成功后会提醒 /usr/local/pgsql/bin/postgres -D /data/pgsql or /usr/local/pgsql/bin/pg_ctl -D /data/pgsql -l logfile start
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
指定数据目录启动数据库服务器(输出重定向到logfile,并且运行在后台,也可以用pg_ctl来启动)
/usr/local/pgsql/bin/createdb test 创建测试数据库,确认安装顺利完成
...
配置一下环境变量:
LD_LIBRARY_PATH=/usr/local/pgsql/lib 动态连接库的所在目录
PATH=/usr/local/pgsql/bin:$PATH 为了方便使用,添加命令的搜索路径
输入pg_config 查看
BINDIR = /usr/local/pgsql/bin
DOCDIR = /usr/local/pgsql/share/doc
HTMLDIR = /usr/local/pgsql/share/doc
INCLUDEDIR = /usr/local/pgsql/include
PKGINCLUDEDIR = /usr/local/pgsql/include
INCLUDEDIR-SERVER = /usr/local/pgsql/include/server
LIBDIR = /usr/local/pgsql/lib
PKGLIBDIR = /usr/local/pgsql/lib
LOCALEDIR = /usr/local/pgsql/share/locale
MANDIR = /usr/local/pgsql/share/man
SHAREDIR = /usr/local/pgsql/share
SYSCONFDIR = /usr/local/pgsql/etc
PGXS = /usr/local/pgsql/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE =
CC = gcc
CPPFLAGS = -D_GNU_SOURCE
CFLAGS = -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv
CFLAGS_SL = -fpic
LDFLAGS = -Wl,-rpath,'/usr/local/pgsql/lib',--enable-new-dtags
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgport -lz -lreadline -ltermcap -lcrypt -ldl -lm
VERSION = PostgreSQL 9.1.3
postgreSQL 安装完毕。
注意事项:安装postgres 时
readline库(默认),命令行编辑功能,这个库虽然不是必须的(可以在配置阶段通过 --without-readline选项来取消),但是强烈建议安装readline,
使用psql时,可以使用方向键来选择和编辑前面键入的命令
查看是否安装过 rpm -qa | grep readline
zlib库(默认),主要用于pg_dump和pg_restore两个操作的数据压缩功能,这个库也不是必须的(可以在配置阶段通过--without-zlib选项来取消),
查看是否安装过 rpm -qa | grep zlib
在编译程序前必须要安装这些包,否则无法通过编译,此外,还有在配置阶段还有很多可选包,可以通过./configure --help查看
选项 描述
– prefix = prefix安装到prefix指向的目录;默认为/usr/local/pgsql
– bindir = dir安装应用程序到dir;默认为prefix/bin
– with-d ocdir= dir安装文档到dir;默认为prefix/doc
– with-p gport= port设置默认的服务器端网络连接服务TCP端口号
– with-t cl为服务端提供Tcl存储过程支持
– with-p erl为服务端提供Perl存储过程支持
– with-p ython为服务端提供Python存储过程支持
PostGIS 的安装 版本为
PostGIS 1.5.4 Release
首先下载源码包
proj-4.8.0,geos-3.3.3,libxml2-2.6.26,虽然这三个库不是安装postgis强制的,但是,没有这三个包,
postgis一定程度上失去了空间数据库的意义。因为Proj4提供了投影的相关操作,如postgis中的transform()函数,geos则为postgis提供了很多拓扑
检查功能的函数,如Touches(), Contains(), Disjoint() 还有一些空间操作函数,如Intersection(), Union() 以及 Buffer()等 ,而Libxml2则提
供了对GML和KML的操作函数,如ST_GeomFromGML(), ST_GeomFromKML()等,如果丧失了这样特性,空间数据库将会怎样
wget http://download.osgeo.org/proj/proj-4.8.0.tar.gz wget http://download.osgeo.org/geos/geos-3.3.3.tar.bz2 wget http://postgis.refractions.net/download/postgis-1.5.4.tar.gz
proj 安装
tar -xvzf proj-4.8.0.tar.gz
cd proj-4.8.0
./configure --prefix=/usr/local/proj
make
make install
geos 安装
tar -jxvf geos-3.3.3.tar.bz2
cd geos-3.3.3
./configure --prefix=/usr/local/geos
make
make install
postGis 安装
tar -xvzf postgis-1.5.4.tar.gz
cd postgis-1.5.4
./configure --with-pgconfig=/usr/local/pgsql/bin/pg_config --with-projdir=/usr/local/proj --with-geosconfig=/usr/local/geos/bin/geos-config
PostGIS is now configured for x86_64-unknown-linux-gnu
-------------- Compiler Info -------------
C compiler: gcc -g -O2
C++ compiler: g++ -g -O2
-------------- Dependencies --------------
GEOS config: /usr/local/geos/bin/geos-config
GEOS version: 3.3.3
PostgreSQL config: /usr/local/pgsql/bin/pg_config
PostgreSQL version: PostgreSQL 9.1.3
PROJ4 version: 48
Libxml2 config: /usr/bin/xml2-config
Libxml2 version: 2.6.26
PostGIS debug level: 0
-------- Documentation Generation --------
xsltproc: /usr/bin/xsltproc
xsl style sheets:
dblatex:
convert:
make
make install
安装成功
启动 postgres
su -postgres 切换到postgres用户下
pg_ctl -D /data/pgsql/ -l /data/pgsql/pgsql.log start
启动数据库
createdb template_postgis 创建数据库,此时,该数据库还没有具备空间特性
psql -f /usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql -d template_postgis
执行postgis.sql脚本,创建相关空间数据库相关的函数,类型,操作符等 执行完这个脚本,该数据库就具有了空间特性了
psql template_postgis 连接到创建的空间数据库
select postgis_full_version(); 查询postgis的版本信息,包含用到的三个库信息
POSTGIS="1.5.4" GEOS="3.3.3-CAPI-1.7.4" PROJ="Rel. 4.8.0, 6 March 2012" LIBXML="2.6.26" USE_STATS
[b]createdb [-U username] -T template_postgis my_spatial_db
[/b]下次再创建数据库,只要以这个模板就可以了
安装完毕...
注意事项:
将/usr/local/geos/lib添加到/etc/ld.so.conf中,然后运行/sbin/ldconfig,这样做的目的是/etc/ld.so.conf列出
的路径下的库文件缓存到/etc/ld.so.cache 以供使用,否则下面的编译可以会出现找不到xxx库的错误。
在执行psql -f /usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql -d template_postgis
出现 Error# could not load library "/usr/local/pgsql/lib/postgis-1.5.so": libproj.so.0: 无法打开共享对象文件: 没有那个文件或目录
解决方法:[b]LD_LIBRARY_PATH 中加入 geos lib proj lib .[/b]
cd /usr/local/pgsql/lib/ 建议链接 ln -s /usr/local/proj/lib/libproj.so.0 libproj.so.0
设置远程可访问数据库
vi /usr/local/pgsql/data/postgresql.conf
把listen_address = 'localhost' 改为 listen_address = '*'
vi /usr/local/pgsql/data/pg_hba.conf
在文件最后加入:
host all all 192.168.1.0/24 password
相关文章推荐
- liunx环境下源码安装PostgreSQL+PostGIS
- Linux下源码安装PostgreSql和PostGIS
- 在Linux环境下编译安装配置PostGIS/PostgreSQL全过程
- Linux环境下源码安装PostgreSQL
- linux + postgresql + postgis 源码 安装
- postgis+postgresql 源码安装
- centos环境源码安装postgresql9.4
- Linux环境PostgreSQL源码编译安装
- Linux环境下PostgreSQL与PostGIS的安装与配置
- PostgreSQL + PostGIS for Linux 安装(最新版本)
- wnmp源码安装环境搭建和配置
- liunx 下JDK安装及环境变量配置
- 在源码安装的LAMP环境中搭建Nagios
- Postgresql源码安装
- 安装postgresql+postgis记录,以及导入SHP到postgis中
- centos6.5环境源码编译安装mysql5.6.34
- CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境
- 源码包配置安装lamp环境
- Centos6.3 下安装postgresql9.1.5和postgis1.5.5(左脑版)
- ubuntu12.04安装android源码编译环境