經過源碼編譯安裝PostgreSQL步驟及問題總結

今天博主在ubuntu 10.04安裝從enterprisedb下載的postgresql安裝包是出現一個問題,運行後提示「Segmentation fault」錯誤,安裝失敗。以前我在12.04版的系統中有安裝過,一切正常。以後公司領導說這個多是系統不兼容的關係,因此須要用源碼安裝。固然,源碼安裝比安裝包麻煩了許多。html


###1.下載源碼包並解壓。源碼下載地址:http://www.postgresql.org/ftp/source/,這裏博主選用的是9.3.2版本。sql


root@vm-199:~# wget http://ftp.postgresql.org/pub/source/v9.3.2/postgresql-9.3.2.tar.gz數據庫

root@vm-199:~# tar zxvf postgresql-9.3.2.tar.gzubuntu


###2.編譯安裝,安裝到/opt/PostgreSQL/9.3目錄。post

root@vm-199:~# cd postgresql-9.3.2ui

root@vm-199:~# ./configure --prefix=/opt/PostgreSQL/9.3.net

root@vm-199:~# makepostgresql

root@vm-199:~# make installcomponent

 

###3.看到PostgreSQL installation complete.說明安裝成功。htm

###4.建立postgres用戶和數據目錄/opt/PostgreSQL/9.3/data,修改數據目錄全部者和權限。

root@vm-199:~# adduser postgres

root@vm-199:~# mkdir -p /opt/PostgreSQL/9.3/data

root@vm-199:~# chown -R postgres.postgres /opt/PostgreSQL/9.3/data

root@vm-199:~# chmod -R go-rwx /opt/PostgreSQL/9.3/data


###5.設置全局環境變量

root@vm-199:~# vi /etc/profile

###添加以下配置到打開文件中。

export PATH=/opt/PostgreSQL/9.3/bin:$PATH

export PGDATA=/opt/PostgreSQL/9.3/data

export PGHOME=/opt/PostgreSQL/9.3

export.UTF-8

export PGPORT=5432

 

###6.初始化數據庫,啓動。

postgres@vm-199:~$ initdb -D /opt/PostgreSQL/9.3/data --locale=zh_CN.UTF8

postgres@vm-199:~$ pg_ctl start

這裏博主在第二步的時候碰到過一個問題,運行./configure –prefix=/opt/PostgreSQL/9.3後提示「configure: error: readline library not found」的錯誤,在askubuntu上看到解決辦法是先安裝libreadline-dev依賴。


最後咱們把postgresql添加到服務中,設置開機自動啓動。


root@vm-199:~# cd /etc/init.d

root@vm-199:/etc/init.d# wget http://download.chekiang.info/blog/postgresql-9.3

root@vm-199:/etc/init.d# chmod +x postgresql-9.3

root@vm-199:/etc/init.d# update-rc.d postgresql-9.3 defaults

至此postgresql的安裝應該已經所有結束,可是博主在導入數據的時候發現postgres_fdw擴展沒有安裝。按照以前這篇文章http://www.sijitao.net/1434.html介紹的postgres_fdw安裝時出現錯誤,提示以下。


postgres=# create extension postgres_fdw;

ERROR: could not open extension control file "/opt/PostgreSQL/9.3/share/postgresql/extension/postgres_fdw.control": No such file or directory

查看postgresql官方文檔,原來編譯安裝的時候擴展默認是不安裝的,「When building from the source distribution, these components are not built automatically」。手動安裝postgres_fdw擴展比較簡單,進入源碼目錄下的/contrib/postgres_fdw,分別運行make和make install進行安裝,成功再運行create extension postgres_fdw就不會提示錯誤了。


有關擴展安裝能夠查看官方介紹:http://www.postgresql.org/docs/current/static/contrib.html 。

原文連接:http://www.sijitao.net/1535.html

相關文章
相關標籤/搜索