您好,登錄后才能下訂單哦!
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
修改后截圖如下:
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ù)庫操作。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。