(8)Centos6.X原始碼安裝PostGIS(普通使用者)
阿新 • • 發佈:2019-01-28
1.引言
PostGIS
是 PostgreSQL
關係資料庫的空間操作擴充套件。它為 PostgreSQL
提供了儲存、查詢和修改空間關係的能力。本部落格中 PostgreSQL
指代基本的關係資料庫功能,而 PostGIS
指代擴充套件的空間操作特性。在本篇部落格中主要介紹如何使用普通使用者原始碼安裝PostGIS
,安裝PostGIS
需要首先安裝PostgreSQL
、python
、proj
、geos
、libxml2
。本篇部落格的環境主要為:
- 作業系統的版本為:
Centos6.7
PostgreSQL
的版本為:9.4.1
PostgreSQL
的安裝目錄為:/home/wpx/usr/local/pgsql
proj
的版本為:4.9.2
proj
的安裝目錄為:/home/wpx/usr/local/proj
geos
的版本為:3.6.2
geos
的安裝目錄為:/home/wpx/usr/local/geos
libxml2
的版本為:2.9.4
libxml2
的安裝目錄為:/home/wpx/usr/local/libxml2
postgis
的版本為:2.2.7
postgis
的安裝目錄為:/home/wpx/usr/local/postgis
- 操作使用者為:
wpx
2. 原始碼安裝PostgreSQL
3. 安裝Python環境
為保證Python的多版本共存,在本部落格中使用pyenv,並安裝Python2.7.10版本,如何安裝pyenv,請參考部落格: Centos安裝pyenv
4. 原始碼安裝proj
- 原始碼安裝命令
//建立proj安裝目錄
mkdir -p ~/usr/local/proj
//解壓縮
tar -zxvf proj-4.9.2.tar.gz
cd proj-4.9.2
//配置proj的安裝目錄
./configure --prefix=/home/wpx/usr/local/proj
//編譯,並且安裝
make & make install
- 安裝成功後,
/home/wpx/usr/local/proj
下面應該有四個資料夾
5. 原始碼安裝proj
- 原始碼安裝命令
//建立geos安裝目錄(編譯需要gcc-c++)
mkdir -p ~/usr/local/geos
//解壓縮
tar -jxvf geos-3.6.2.tar.bz2
cd geos-3.6.2
//配置geos的安裝目錄
./configure --prefix=/home/wpx/usr/local/geos
//編譯
make
//安裝(先編譯,後安裝。不知道為啥,同時執行編譯安裝不成功)
make install
- 安裝成功後,
/home/wpx/usr/local/geos
下面應該有三個資料夾
6. 原始碼安裝libxml2
- 原始碼安裝命令
//建立libxml2安裝目錄(編譯需要python-devel,且需要本地python環境,即python的目錄需要有許可權)
mkdir -p ~/usr/local/libxml2
//解壓縮
tar -zxvf libxml2-2.9.4.tar.gz
cd libxml2-2.9.4
//配置libxml2安裝目錄
./configure --prefix=/home/wpx/usr/local/libxml2
//編譯
make
//安裝
make install
- 安裝成功後,
/home/wpx/usr/local/libxml2
下面應該有三個資料夾
7. 原始碼安裝postgis
- 原始碼安裝命令
//建立postgis安裝目錄
mkdir -p ~/usr/local/postgis
//解壓縮
tar -zxvf postgis-2.2.7.tar.gz
cd postgis-2.2.7
//配置postgis的環境,需要指定前面安裝軟體
./configure --prefix=/home/wpx/usr/local/postgis \
--with-pgconfig=/home/wpx/usr/local/pgsql/bin/pg_config \
--with-geosconfig=/home/wpx/usr/local/geos/bin/geos-config \
--with-projdir=/home/wpx/usr/local/proj/ \
--with-xml2config=/home/wpx/usr/local/libxml2/bin/xml2-config \
--without-raster
//編譯
make
//安裝
make install
- 進入PostgreSQL的lib目錄下面,複製兩個檔案
cd ~/usr/local/pgsql/lib
cp ../../proj/lib/libproj.so.9.1.0 ./libproj.so.9
cp ../../geos/lib/libgeos_c.so.1.10.2 ./libgeos_c.so.1
- 安裝成功後,PostgreSQL的bin目錄下面,將會有相應的命令
8. 測試PostGIS
是否安裝成功
- 測試指令
//啟動資料庫服務
/home/wpx/usr/local/pgsql/bin/pg_ctl -D /home/wpx/usr/local/pgsql/data -l logfile start
//登入資料庫,建立一個新的資料庫
psql -h localhost -p 5432 -U wpx -d postgres
CREATE DATABASE dx;
//將dx升級為空間資料庫(第一個是新增空間函式,第二個是建立spatial_ref_sys表)
psql -h localhost -d dx -U wpx -f ../share/contrib/postgis-2.2/postgis.sql
psql -h localhost -d dx -U wpx -f ../share/contrib/postgis-2.2/spatial_ref_sys.sql
- 沒有報錯,顯示成功即可