天天看點

CentOS7 如何離線安裝PostgreSQL資料庫

    為了降低成本,有些Web應用需要部署到開源的Linux作業系統上,而其中CentOS作業系統是比較常用的一種資料庫,在此作業系統上,可以友善的搭建Java環境、Tomcat容器以及資料庫服務,比如MySQL或者 PostgreSQL。在一般情況下,CentOS所在的伺服器是可以聯網的,是以,可以通過指令很友善的從網上下載下傳相關的安裝包以及依賴包等資源,極個别的可能由于網站資源的限制,下載下傳不了或者下載下傳速度過慢,但都可以通過切換預設的軟體源位址來變相解決。

   但是,如果CentOS所在的伺服器限于安全原因,客戶并未給我們配置通路外網的權限,那麼如何安裝PostgreSQL資料庫呢?本文将通過具體步驟來詳細講解如何在CentOS7 系統上離線安裝PostgreSQL12資料庫。

1  離線安裝包準備

   首先可以通路網址 https://pkgs.org/search/?q=postgresql12 來下載下傳對應的離線安裝封包件,具體的示例截圖如下:

CentOS7 如何離線安裝PostgreSQL資料庫

通常情況下,需要下載下傳如下幾個RPM安裝包: 

postgresql12-12.3-1PGDG.rhel7.x86_64.rpm

#安裝擴充

postgresql12-contrib-12.3-1PGDG.rhel7.x86_64.rpm

#用戶端進行連接配接.

postgresql12-libs-12.3-1PGDG.rhel7.x86_64.rpm

#資料庫的安裝檔案

postgresql12-server-12.3-1PGDG.rhel7.x86_64.rpm

注意:具體版本則需要根據自己的需要來進行選擇,centos7對應于rhel7,如果是centos8 的話 選擇 rhel8 進行下載下傳。

下載下傳完成的檔案截圖如下:

CentOS7 如何離線安裝PostgreSQL資料庫

然後,就需要利用SSL工具将本地下載下傳的RMP安裝檔案上傳到CentOS7伺服器的pg12rpm目錄中。(雖然伺服器不能聯網通路網站資源,但可以進行遠端登入進行管理)。

2  離線安裝

   首先進入上述離線安裝檔案所在的目錄,用ll指令查詢一下安裝包是否已經離線上傳好,界面截圖如下:

CentOS7 如何離線安裝PostgreSQL資料庫

在pg12rmp目錄下,執行如下指令,進行安裝包的安裝:

yum localinstall *.rpm      

期間可能會通路網絡,但不影響安裝,在提示是否确認安裝時,選擇y确認安裝,等待安裝即可。成功安裝完postgresql 12 資料庫之後,會自動建立一個服務,可以看一下名為postgresql-12的服務,使用如下指令進行服務狀态檢視:

systemctl status postgresql-12       

首次安裝後,此指令會顯示相關的檔案資訊:

Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; enabled; vendor preset: disabled)

可以通過cat指令檢視此檔案的内容,其中包含相關的資料存儲目錄資訊:

# Location of database directory
Environment=PGDATA=/var/lib/pgsql/12/data/ 
#程式目錄
ExecStart=/usr/pgsql-12/bin/postmaster -D ${PGDATA}       

3  資料庫初始化

   有了資料庫的資料存儲目錄和程式所在目錄,可以使用如下指令進行資料庫的初始化工作,具體示例代碼如下:

su - postgres
cd /usr/pgsql-12/bin/
#初始化資料庫
./initdb -D /var/lib/pgsql/12/data/      

成功執行指令後,需要退出postgres指令環境,用root 使用者啟動postgresql 服務,并且設定postgresql服務為自動啟動,這樣在伺服器重新開機後,無需手動再啟動postgresql 服務,具體指令如下:

systemctl enable  postgresql-12 && systemctl restart postgresql-12      

最後,需要對PG資料庫進行安全性方面的配置,比如修改密碼,建立使用者,設定登入政策等等,下面給出一些示例代碼:

su - postgres
psql
#修改密碼
alter role postgres with password 'your_root_pwd###';
#修改配置檔案,配置登入政策等
vim /var/lib/pgsql/12/data/pg_hba.conf
#增加一行
host    all             all             0.0.0.0/0         md5   
# trust 是免密, md5 是加密
#修改資料庫其他配置資訊
vim /var/lib/pgsql/12/data/postgresql.conf
listen_addresses = '*' 
max_connections = 700
#重新開機服務
systemctl restart  postgresql-12      

重新開機後,再次檢視資料庫狀态,指令如下:

CentOS7 如何離線安裝PostgreSQL資料庫