天天看點

centos 安裝postgis

作業系統

Cenos7

軟體

postgresSQL

postgressql9.4.9.tar,

Postgregis

proj-4.9.2.tar.gz

gdal-1.11.0.tar,

geos-3.5.0.tar,

postgis-2.2.4dev.tar,

1.       解壓檔案

tarjxvf postgresql- 9.4.9.tar.bz2

2.       進入解壓後的postgresql- 9.4.9目錄

cd postgresql-9.4.9

3.       編譯postgresql源碼

./source -prefix=/opt/pgsql-9.4.9

其中可能會報錯:

A.       configure: error: no acceptable C compiler found in$PATH

yum install gcc

B.       configure: error: readline library notfound

yum install readline

yum install readline-devel

C.       configure: error: zliblibrary not found

yum install zlib-devel;

       可能出現的錯誤進行安裝缺失的依賴包後重新進行

       ./source-prefix=/opt/pgsql-9.4.9

4.       執行make

5.       執行make install

至此postgressql安裝成功。

6.       增加 postgres使用者

useradd postgres

修改postgres密碼

passwd postgres

7.       設定postgres使用者的環境變量

切換到postgres使用者

#su- postgres

8.      進入postgres的主目錄

#cd~

編輯~/.bash_profile檔案

#vi ~/.bash_profile

增加以下的環境變量

exportPGHOME=/opt/pgsql-9.4.9

exportPGDATA=~/data

exportPATH=$PATH:$HOME/bin:$PGHOME/bin

儲存,退出vi。執行以下指令,使環境變量生效

#source~/.bash_profile

9.      初始化postgres資料庫

10.  安裝執行個體

 initdb

11.  建立資料庫

Createdpostgis

#pg_ctl start

12.  可以看到postgresql資料庫執行個體已經啟動,通過下面的指令可以檢視系統中運作的postgres程序

13.  #ps -ef | grep postgres

#pg_ctlstop

#ps-ef |  grep postgres

找到 /home/postgres/data 檔案夾下的

postgresql.conf

修改 listen_addresses = 'localhost'

删除前邊的#, 内容改為*

pg_hba.conf

最後一行添加

host    all    all   0.0.0.0/0    md5

執行資料庫關閉,啟動。

以上為所有postgresSQL安裝步驟

1.       使用root使用者登入

Su –root

輸入密碼

解壓: tar zvf geos-3.5.0.tar

進入目錄: cd /geos-3.5.0

 執行 ./configure –prefix=/opt/geos

如果報錯g++not found

執行yum install gcc_c++

重新執行./configure –prefix=/opt/geos

如果報錯Configure:configure:error: could not find xml2-config from libxml2 within the current path. You mayneed to try re-running configure with a --with-xml2config 

執行 yum install libxml2-devel.x86_64

執行 make

執行 make install

 執行 ./configure –prefix=/opt/ proj

 執行 ./configure –prefix=/opt/gdal

1.       解壓 tar zvf postgis-2.2.4dev.tar

2.       進入目錄 cd /postgis-2.2

3.       執行

./configure--prefix=/opt/postgis-2.2/ --with-pgconfig=/opt/pgsql-9.4.9/bin/pg_config--with-geosconfig=/opt/geos/bin/geos-config --with-projdir=/opt/proj/--with-gdalconfig=/opt/gdal/bin/gdal-config

4.       打開 vi /etc/ld.so.conf

輸入

/opt/geos/lib

/opt/proj/lib//lib

/opt/pgsql-9.4.9/lib

/opt/postgis-2.2/lib

儲存退出,執行

sudo ldconfig

5.       使用postgres使用者登入

執行 psql -d postgis

進入 psql指令行

執行 create extension postgis;

l  該過程如果報錯ERROR:  could not load library"/opt/pgsql/lib/postgis-2.2.so": libproj.so.9: cannot open sharedobject file: No such file or directory

執行: cp /opt/proj/lib/libproj.so.9 /opt/pgsql-9.4.9/lib/

l  該過程如果報錯ERROR:  could not load library"/opt/pgsql-9.4.9/lib/rtpostgis-2.2.so": libgdal.so.1: cannot openshared object file: No such file or directory

執行:cp /opt/gdal/lib/libgdal.so.1 /opt/pgsql-9.4.9/lib/

傳回繼續執行 create extension postopology;

CREATE EXTENSION fuzzystrmatch;

出錯:

ERROR: could not open extension control file"/usr/local/pgsql/share/extension/fuzzystrmatch.control": No suchfile or directory

這個擴充已經包含在pgsql源碼中,但是預設并未完成,是以需要安裝之,進入pgsql源碼目錄:

cd contrib/fuzzystrmatch/

make

make install

然後再在pgsql指令行下執行:CREATEEXTENSION fuzzystrmatch;

至此整個資料庫安裝完成。