Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1017531
  • 博文数量: 171
  • 博客积分: 55
  • 博客等级: 民兵
  • 技术积分: 2077
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 10:11
个人简介

pugna

文章分类

全部博文(171)

文章存档

2021年(4)

2020年(1)

2019年(4)

2018年(5)

2017年(7)

2016年(9)

2015年(36)

2014年(8)

2013年(96)

2012年(1)

分类: Mysql/postgreSQL

2013-11-22 01:34:38

    CentOS安装PostGIS最方便的方法是用PostgreSQL源加上EPEL源,直接yum安装,无痛解决依赖问题(源码安装时遇到的依赖问题会让人抓狂的)。

系统环境:
CentOS 6.4 x64

要求:
PostgreSQL安装到 /postgresql 目录,数据目录为 /postgresql/data。

1.使用PostgreSQL源
参考
在页面选择相应系统的rpm包,CentOS 6.x 可直接 wget
rpm -ivh pgdg-centos93-9.3-1.noarch.rpm
vim /etc/yum.repos.d/CentOS-Base.repo
在 [base] 和 [updates] 区域中加入一行
exclude=postgresql*

yum makecache

2.使用EPEL源
由于PostGIS所依赖的包比较多,有些在CentOS官方源中没有,所以需要使用EPEL源。
具体步骤参考上一篇blog。

3.安装PostgreSQL
yum list postgres*

由于yum安装无法指定软件安装目录,这里使用软链接来实现指定PostgreSQL安装目录。
yum安装PostgreSQL的默认路径为/usr/pgsql-9.3
mkdir /postgresql
mkdir /postgresql/data
ln -s /postgresql /usr/pgsql-9.3
yum install postgresql93-server

4.配置PostgreSQL参数,初始化数据库
vim ~/.bash_profile
PGHOME=/postgresql
PGDATA=/postgresql/data
PGPORT=5432
export PGHOME PGDATA PGPORT

$PGHOME/bin/initdb -D $PGDATA

5.安装PostGIS
yum list postgis*

yum install postgis2_93.x86_64 postgis2_93-client.x86_64pos postgis2_93-devel.x86_64 postgis2_93-docs.x86_64 postgis2_93-utils.x86_64

6.修改pg_hba.conf和postgresql.conf配置

7.加载PostGIS插件
查看PostGIS相关文件

# ll $PGHOME/share/extension/
总用量 25936
-rw-r--r--. 1 root root     332 10月  9 17:11 plpgsql--1.0.sql
-rw-r--r--. 1 root root     179 10月  9 17:11 plpgsql.control
-rw-r--r--. 1 root root     381 10月  9 17:11 plpgsql--unpackaged--1.0.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.0.0--2.1.1.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.0.1--2.1.1.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.0.2--2.1.1.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.0.3--2.1.1.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.0.4--2.1.1.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.1.0--2.1.1.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.1.0rc1--2.1.1.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.1.0rc2--2.1.1.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.1.0rc3--2.1.1.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.1.1--2.1.1next.sql
-rw-r--r--. 1 root root  597783 11月  9 04:02 postgis--2.1.1next--2.1.1.sql
-rw-r--r--. 1 root root 4211501 11月  9 04:02 postgis--2.1.1.sql
-rw-r--r--. 1 root root     185 11月  9 04:02 postgis.control
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.0.0--2.1.1.sql
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.0.1--2.1.1.sql
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.0.2--2.1.1.sql
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.0.3--2.1.1.sql
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.0.4--2.1.1.sql
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.1.0--2.1.1.sql
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.1.0rc1--2.1.1.sql
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.1.0rc2--2.1.1.sql
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.1.0rc3--2.1.1.sql
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.1.1--2.1.1next.sql
-rw-r--r--. 1 root root  979837 11月  9 04:02 postgis_tiger_geocoder--2.1.1next--2.1.1.sql
-rw-r--r--. 1 root root 1073180 11月  9 04:02 postgis_tiger_geocoder--2.1.1.sql
-rw-r--r--. 1 root root     193 11月  9 04:02 postgis_tiger_geocoder.control
-rw-r--r--. 1 root root    8558 11月  9 04:02 postgis_tiger_geocoder--unpackaged--2.1.1.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.0.0--2.1.1.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.0.1--2.1.1.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.0.2--2.1.1.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.0.3--2.1.1.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.0.4--2.1.1.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.1.0--2.1.1.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.1.0rc1--2.1.1.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.1.0rc2--2.1.1.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.1.0rc3--2.1.1.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.1.1--2.1.1next.sql
-rw-r--r--. 1 root root  309299 11月  9 04:02 postgis_topology--2.1.1next--2.1.1.sql
-rw-r--r--. 1 root root  303625 11月  9 04:02 postgis_topology--2.1.1.sql
-rw-r--r--. 1 root root     169 11月  9 04:02 postgis_topology.control
-rw-r--r--. 1 root root    9775 11月  9 04:02 postgis_topology--unpackaged--2.1.1.sql
-rw-r--r--. 1 root root   93819 11月  9 04:02 postgis--unpackaged--2.1.1.sql

# ll $PGHOME/share/contrib/postgis-2.1/
总用量 5972
-rw-r--r--. 1 root root    1214 11月  9 04:02 legacy_gist.sql
-rw-r--r--. 1 root root    2556 11月  9 04:02 legacy_minimal.sql
-rw-r--r--. 1 root root   54475 11月  9 04:02 legacy.sql
-rw-r--r--. 1 root root   65668 11月  9 04:02 postgis_comments.sql
-rwxr-xr-x. 1 root root  147813 11月  9 04:02 postgis_restore.pl
-rw-r--r--. 1 root root  206659 11月  9 04:02 postgis.sql
-rw-r--r--. 1 root root  161237 11月  9 04:02 postgis_upgrade_20_21.sql
-rw-r--r--. 1 root root  161237 11月  9 04:02 postgis_upgrade_21_minor.sql
-rw-r--r--. 1 root root   67301 11月  9 04:02 raster_comments.sql
-rw-r--r--. 1 root root    5775 11月  9 04:02 rtpostgis_legacy.sql
-rw-r--r--. 1 root root  269778 11月  9 04:02 rtpostgis.sql
-rw-r--r--. 1 root root  299364 11月  9 04:02 rtpostgis_upgrade_20_21.sql
-rw-r--r--. 1 root root  299364 11月  9 04:02 rtpostgis_upgrade_21_minor.sql
-rw-r--r--. 1 root root 3593962 11月  9 04:02 spatial_ref_sys.sql
-rw-r--r--. 1 root root   14395 11月  9 04:02 topology_comments.sql
-rw-r--r--. 1 root root  289150 11月  9 04:02 topology.sql
-rw-r--r--. 1 root root  289010 11月  9 04:02 topology_upgrade_21_minor.sql
-rw-r--r--. 1 root root   14401 11月  9 04:02 uninstall_legacy.sql
-rw-r--r--. 1 root root   38592 11月  9 04:02 uninstall_postgis.sql
-rw-r--r--. 1 root root   68405 11月  9 04:02 uninstall_rtpostgis.sql
-rw-r--r--. 1 root root    1451 11月  9 04:02 uninstall_sfcgal.sql
-rw-r--r--. 1 root root   10684 11月  9 04:02 uninstall_topology.sql



加载PostGIS插件
# psql -d postgres -U postgres
psql (9.3.1)
输入 "help" 来获取帮助信息.

postgres=# \l
                                     资料库列表
   名称    |  拥有者  | 字元编码 |  校对规则   |    Ctype    |       存取权限        
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
 template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 行记录)

postgres=# create database postgis ;
CREATE DATABASE
postgres=# \c postgis
您现在已经连线到数据库 "postgis",用户 "postgres".
postgis=# select * from pg_extension;
 extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
---------+----------+--------------+----------------+------------+-----------+--------------
 plpgsql |       10 |           11 | f              | 1.0        |           |
(1 行记录)

postgis=# create extension postgis;
CREATE EXTENSION
postgis=# \dt
                    关联列表
 架构模式 |      名称       |  型别  |  拥有者  
----------+-----------------+--------+----------
 public   | spatial_ref_sys | 资料表 | postgres
(1 行记录)

postgis=# select count(*) from spatial_ref_sys ;
 count
-------
  3911
(1 行记录)

postgis=# \dn
   架构模式列表
  名称  |  拥有者  
--------+----------
 public | postgres
(1 行记录)

postgis=# create extension postgis_topology;
CREATE EXTENSION
postgis=# \dn
    架构模式列表
   名称   |  拥有者  
----------+----------
 public   | postgres
 topology | postgres
(2 行记录)





阅读(5731) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~