作業系統
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;
至此整個資料庫安裝完成。