本次安裝環境為Ubuntu18.04 Server,postgresql采用10版本。
postgresql數據庫安裝可主要分為兩種,一種是apt快速安裝,一種是二進制安裝。本次安裝我們將一一記錄這兩種安裝步驟。
######1、在Ubuntu18.04中默認庫是postgresql-10版本,如果我們要安裝歷史版本可以增加源庫 ``` sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ YOUR_UBUNTU_VERSION_HERE-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update ``` ######這里有一個參數需要根據實際情況進行填寫:YOUR_UBUNTU_VERSION_HERE-pgdg ubuntu18.04 對應的是bionic-pgdg ubuntu16.04 對應的是xenial-pgdg ubuntu14.04 對應的是trusty-pgdg
不要填錯,一旦填寫錯誤,可以打開/etc/apt/sources.list.d/pgdg.list進行修改里面的參數進行解決。
2、源庫更新完成,開始正式安裝,apt快速安裝。
sudo apt-get install postgresql-10 -y
查看安裝狀態
$ dpkg -l |grep postgresql
ii postgresql-10 10.4-0ubuntu0.18.04 amd64 object-relational SQL database, version 10 server
ii postgresql-client-10 10.4-0ubuntu0.18.04 amd64 front-end programs for PostgreSQL 10
ii postgresql-client-common 190 all manager for multiple PostgreSQL client versions
ii postgresql-common 190 all PostgreSQL database-cluster manager
3、安裝完成,我們可以使用服務操作命名進行操作:
sudo service postgresql start/stop/restart
使用ps -aux|grep postgres進行查看當前運行的服務
我們使用以下命令進入數據庫進行再次確認安裝正常
sudo -u postgres psql
postgres=# select version();
PostgreSQL 10.4 (Ubuntu 10.4-0ubuntu0.18.04) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0, 64-bit
好了第一種安裝方式完成,開始進行使用postgresql吧。
初始安裝完成后常用的目錄如下:
data_directory = '/var/lib/postgresql/10/main' # 數據存放位置
hba_file = '/etc/postgresql/10/main/pg_hba.conf' # 身份配置文件,可進行過濾IP、登錄方式、登錄用戶
external_pid_file = '/var/run/postgresql/10-main.pid' #運行時pid存放位置
config_file=/etc/postgresql/10/main/postgresql.conf #核心配置文件存放位置
可以根據實際需求進行調整
我是朴實簡單的分割線~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
第二種安裝方式,編譯安裝
以下為不同版本的二進制包,這里我們下載postgresql10系列中最高版本,這里我們下載的是tar.gz格式,可根據自己情況進行下載即可。
https://www.postgresql.org/ftp/source/
第一步,下載與解壓
wget https://ftp.postgresql.org/pub/source/v10.6/postgresql-10.6.tar.gz
tar -zxf postgresql-10.6.tar.gz

第二步,編譯源程序,
注(可使用find ./ -maxdepth 1 -type d進行查看當前符合標准的文件)
./configure --help 可以查看其相關支持的參數,根據其情況進行設置,初期我們只需要使用--prefix參數即可。
cd postgresql-10.6/
./configure --prefix=/pgdata
注意事項:
在使用編譯命令過程中可能會出現部分組件缺失的情況,這里如果是Ubuntu系統可執行 sudo apt-get install -y libtool libapr1 make gcc libexpat1-dev readline-devel zlib-devel

第三步,開始進行安裝
make
make install
正常情況下make執行完畢后顯示為下圖所示,這時我們可以執行第二句make install 進行安裝即可。

安裝完畢后,顯示如圖所示

這時我們其實已經安裝完成postgresql數據庫了,如果我們不需要其他組件,則可直接進入第五步開始初始化數據庫。
第四步,開始安裝常用組件庫。postgresql延伸出來的組件非常豐富,這里我建議安裝其源碼包中的組件,以便后續教程中使用。
cd contrib/
ls
這里我們可以看到有很多的組件,比較常用的有postgres_fdw、dblink等均包含在內。

make
make install


這時組件庫已經安裝完成。
第五步,創建數據存儲目錄,並授權postgres用戶所屬權限。
groupadd postgres
useradd -g postgres postgres
mkdir /pgdata/data
chown postgres:postgres /pgdata -R
chown postgres:postgres /pgdata/data -R
這里pgdata目錄是最初編譯安裝時我創建的安裝目錄,可根據自己情況進行自定義安裝位置,/pgdata/data是數據存儲目錄,可與安裝目錄分屬於不同位置,下面在第二節配置參數中有講到。
第六步,切換用戶,並設置基礎環境變量。
su - postgres
vim ~/.bash_profile
在其文件最底下追加以下配置:
export PGHOME=/pgdata
export PGDATA=/pgdata/data
export PATH=$PGHOME/bin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export LANG=en_US.utf8
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
執行以下命令,使其立即生效。為其下一步初始化數據庫做准備,這里也可重啟使其生效。
source ~/.bash_profile
第七步,初始化數據庫,並設置超級管理員用戶密碼( --pwprompt)
initdb -D /pgdata/data/ --pwprompt

第八步,創建日志存儲目錄,啟動數據庫
mkdir /pgdata/logs
pg_ctl -D /pgdata/data/ -l /pgdata/logs/start_logs.log start
psql
第九步,配置開機自動啟動
待補充~
至此,編譯安裝完成,第二節我們將講解其基礎相關配置。請持續關注。
分享一下阿里雲活動,有需要的可進入購買,最高¥1888雲產品通用代金券
https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ly7hjnah
雙12來了,雲產品低至2折!
https://m.aliyun.com/act/team1212/?params=N.pXSn7Hz1ET
