PostgreSQL編譯安裝

來源:互聯網
上載者:User

標籤:linux postgresql




PostgreSQL編譯安裝



一、PostgreSQL簡介


 PostgreSQL是目前功能最強大的開來源資料庫,支援豐富的資料類型和自訂類型,且它提供了豐富的介面,可以輕易的擴充它的功能。

 

 與其他資料庫相比,PostgreSQL有以下優勢:

  ●PostgreSQL是目前功能最強大的開來源資料庫

  ●穩定可靠:PostgreSQL是唯一能做到資料零丟失的開來源資料庫

  ●支援廣泛:PostgreSQL支援大量的主流開發語言,包括C、C++、Perl、Python、Java、PHP等

  ●社區活躍:基本上每三個月會推出一個新的補丁版本,這意味著已知BUG很快會被修複


 PostgreSQL資料庫與MySQL資料庫對比,有以下優勢:

  ●功能強大:支援所有主流的多表串連查詢的方式(如:Nest loop、hash join等);有豐富的內建函數,並支援大量欄位類型

  ●支援同步複製:從PostgreSQL9.1開始,支援同步複製功能,,通過master和slave之間的複製可以實現零資料丟失的高可用方案





二、PostgreSQL安裝與配置


 本次安裝採用源碼編譯安裝,僅作為學習工作使用,預設選項即可,讀者可以自行選擇安裝的選項。


 1、安裝前的準備

  ●源碼包

   postgresql-9.6.1.tar.gz,可通過如下命令下載

wget https://ftp.postgresql.org/pub/source/v9.6.1/postgresql-9.6.1.tar.gz

  ●建立postgres使用者

   PostgreSQL不能以root身份運行,而且其預設運行使用者為postgres

[[email protected] ~]# useradd postgres[[email protected] ~]# passwd postgres

 ●建立安裝目錄及資料目錄

[[email protected] ~]# mkdir -p /usr/local/pgsql/data



 2、開始安裝配置

  ●解壓並進行安裝

  解壓源碼包,並進入解壓目錄,執行配置安裝命令

[[email protected] ~]# tar -xzf postgresql-9.6.1.tar.gz[[email protected] ~]# cd postgresql-9.6.1[[email protected] postgresql-9.6.1]# ./configure --prefix=/usr/local/pgsql[[email protected] postgresql-9.6.1]# make && make install

 如果沒什麼error的話,我們就可以進行配置


  ●相關配置

   1)添加環境變數

    方便起見,我們在/etc/init.d/目錄下建立一個名為pgsql.sh的檔案,內容如下,並使該檔案立即生效

[[email protected] ~]# more /etc/profile.d/pgsql.shexport PATH=$PATH:/usr/local/pgsql/bin[[email protected] ~]# source /etc/profile.d/pgsql.sh

   2)將資料目錄及安裝目錄屬主、屬組改為postgres

[[email protected] ~]# chown ‐R postgres.postgres /usr/local/pgsql

   3)初始化資料庫

    切換為postgres使用者,初始化postgresql資料庫,此時會在/usr/local/pgsql/data目錄下產生相應的資料庫設定檔

[[email protected] ~]# su ‐ postgres[[email protected] ~]$ initdb ‐D /usr/local/pgsql/data# 需要注意的是:這裡的/usr/local/pgsql/data目錄必須為空白# 現在可以執行如下命令啟動postgresql資料庫服務[[email protected] ~]$ pg_ctl ‐D /usr/local/pgsql/data ‐l logfile start

   4)修改設定檔

    現在我們的資料庫只能用於本機使用者訪問,我們需要修改設定檔來使遠程機器也可以訪問

[[email protected] ~]$ cd /usr/local/pgsql/data[[email protected] data]$ vi  postgresql.conf# 在#listen_addresses = ‘localhost‘處添加監聽地址為所有(*),即添加listen_addresses = ‘*‘[[email protected] data]$ vi pg_hba.conf#  將host的IP地址改為所需要訪問的IP網段地址,認證方式改為md

    修改後如下:

650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/8C/80/wKiom1huFO6yu5o9AABorp_60Z8223.png" style="width:654px;height:102px;" title="postgresql.conf" alt="wKiom1huFO6yu5o9AABorp_60Z8223.png" width="654" height="102" border="0" hspace="0" vspace="0" />


650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/8C/80/wKiom1huF5SA356nAADFcYs1WUs075.png" title="pg_hba.conf" width="750" height="134" border="0" hspace="0" vspace="0" style="width:750px;height:134px;" alt="wKiom1huF5SA356nAADFcYs1WUs075.png" />


   5)複製服務啟動指令碼到/etc/init.d/目錄下,添加pgsqld服務

    切換為root使用者,複製解壓目錄下contrib/startscripts/linux到/etc/init.d/pgsqld,並進行簡單修改,賦予執行許可權

[[email protected] postgresql-9.6.1]# cp contrib/start‐scripts/linux /etc/init.d/pgsqld[[email protected] postgresql-9.6.1]# vi /etc/init.d/pgsqld## 查看該選項是否與自己設定的資料目錄相對應,若不對應,則修改## 該選項預設目錄為PGDATA="/usr/local/pgsql/data"# 添加執行許可權,並添加服務到開機啟動# chmod +x /etc/init.d/pgsqld重新啟動服務# service pgsqld restart# 添加到開機啟動# chkconfig --add pgsqld# chkconfig pgsqld on



  到此,PostgreSQL安裝配置完成,我們可以切換到postgres使用者,執行psql命令進入postgres互動模式,進行相關資料庫操作。

本文出自 “紙盒人” 部落格,請務必保留此出處http://zhiheren.blog.51cto.com/12120978/1889419

PostgreSQL編譯安裝

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.