溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL編譯安裝

發(fā)布時間:2020-07-23 07:56:15 來源:網(wǎng)絡 閱讀:1367 作者:紙盒人 欄目:數(shù)據(jù)庫




PostgreSQL編譯安裝



一、PostgreSQL簡介


 PostgreSQL是目前功能最強大的開源數(shù)據(jù)庫,支持豐富的數(shù)據(jù)類型和自定義類型,且它提供了豐富的接口,可以輕易的擴展它的功能。

 

 與其他數(shù)據(jù)庫相比,PostgreSQL有以下優(yōu)勢:

  ●PostgreSQL是目前功能最強大的開源數(shù)據(jù)庫

  ●穩(wěn)定可靠:PostgreSQL是唯一能做到數(shù)據(jù)零丟失的開源數(shù)據(jù)庫

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

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


 PostgreSQL數(shù)據(jù)庫與MySQL數(shù)據(jù)庫對比,有以下優(yōu)勢:

  ●功能強大:支持所有主流的多表連接查詢的方式(如:Nest loop、hash join等);有豐富的內(nèi)置函數(shù),并支持大量字段類型

  ●支持同步復制:從PostgreSQL9.1開始,支持同步復制功能,,通過master和slave之間的復制可以實現(xiàn)零數(shù)據(jù)丟失的高可用方案





二、PostgreSQL安裝與配置


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


 1、安裝前的準備

  ●源碼包

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

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

  ●創(chuàng)建postgres用戶

   PostgreSQL不能以root身份運行,而且其默認運行用戶為postgres

[root@a ~]# useradd postgres
[root@a ~]# passwd postgres

 ●創(chuàng)建安裝目錄及數(shù)據(jù)目錄

[root@a ~]# mkdir -p /usr/local/pgsql/data



 2、開始安裝配置

  ●解壓并進行安裝

  解壓源碼包,并進入解壓目錄,執(zhí)行配置安裝命令

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

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


  ●相關配置

   1)添加環(huán)境變量

    方便起見,我們在/etc/init.d/目錄下新建一個名為pgsql.sh的文件,內(nèi)容如下,并使該文件立即生效

[root@a ~]# more /etc/profile.d/pgsql.sh
export PATH=$PATH:/usr/local/pgsql/bin
[root@a ~]# source /etc/profile.d/pgsql.sh

   2)將數(shù)據(jù)目錄及安裝目錄屬主、屬組改為postgres

[root@a ~]# chown ‐R postgres.postgres /usr/local/pgsql

   3)初始化數(shù)據(jù)庫

    切換為postgres用戶,初始化postgresql數(shù)據(jù)庫,此時會在/usr/local/pgsql/data目錄下生成相應的數(shù)據(jù)庫配置文件

[root@a ~]# su ‐ postgres
[postgres@a ~]$ initdb ‐D /usr/local/pgsql/data
# 需要注意的是:這里的/usr/local/pgsql/data目錄必須為空
# 現(xiàn)在可以執(zhí)行如下命令啟動postgresql數(shù)據(jù)庫服務
[postgres@a ~]$ pg_ctl ‐D /usr/local/pgsql/data ‐l logfile start

   4)修改配置文件

    現(xiàn)在我們的數(shù)據(jù)庫只能用于本地用戶訪問,我們需要修改配置文件來使遠程機器也可以訪問

[postgres@a ~]$ cd /usr/local/pgsql/data
[postgres@a data]$ vi  postgresql.conf
# 在#listen_addresses = 'localhost'處添加監(jiān)聽地址為所有(*),即添加listen_addresses = '*'

[postgres@a data]$ vi pg_hba.conf
#  將host的IP地址改為所需要訪問的IP網(wǎng)段地址,認證方式改為md

    修改后截圖如下:

PostgreSQL編譯安裝


PostgreSQL編譯安裝


   5)復制服務啟動腳本到/etc/init.d/目錄下,添加pgsqld服務

    切換為root用戶,復制解壓目錄下contrib/startscripts/linux到/etc/init.d/pgsqld,并進行簡單修改,賦予執(zhí)行權限

[root@a postgresql-9.6.1]# cp contrib/start‐scripts/linux /etc/init.d/pgsqld
[root@a postgresql-9.6.1]# vi /etc/init.d/pgsqld
## 查看該選項是否與自己設定的數(shù)據(jù)目錄相對應,若不對應,則修改
## 該選項默認目錄為
PGDATA="/usr/local/pgsql/data"

# 添加執(zhí)行權限,并添加服務到開機啟動
# chmod +x /etc/init.d/pgsqld
重新啟動服務
# service pgsqld restart
# 添加到開機啟動
# chkconfig --add pgsqld
# chkconfig pgsqld on



  到此,PostgreSQL安裝配置完成,我們可以切換到postgres用戶,執(zhí)行psql命令進入postgres交互模式,進行相關數(shù)據(jù)庫操作。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI