Cenots7 離線安裝部署PostgreSQL

2022-10-22 18:06:47

1 PostgreSQL原始碼包下載並複製

1.1 PostgreSQL原始碼包下載:

存取PostgreSQL官網

選擇所需版本進行下載,本次下載安裝版本為v14.5

1.2 複製原始碼包至伺服器

使用SSH終端工具,遠端連線伺服器,並使用終端工具提供的上傳工具,把postgresql-14.5.tar.gz 上傳至伺服器/usr/local/postgres14.5/src 資料夾下

建目錄資料夾的命令

[root@localhost local]# mkdir -p /usr/local/postgres14.5/src

2 基於PostgreSQL原始碼安裝

2.1 解壓縮原始碼

切換到原始碼目錄

[root@localhost local]# cd /usr/local/postgres14.5/src

解壓gz

[root@localhost src]# gunzip postgresql-14.5.tar.gz

解壓tar

[root@localhost src]# tar -xf postgresql-14.5.tar

2.2 檢查環境 指定安裝路徑

檢查環境,指定安裝目錄和伺服器埠

[root@localhost postgresql-14.5]# ./configure --prefix=/usr/local/pgsql-14.5 --with-pgport=5435

注意:使用configure指令碼檢查,無錯誤或警告提示方可進行下一步編譯操作,若有錯誤或警告提示需根據提示進行相關操作。
2.3 編譯

[root@localhost postgresql-14.5]# make

2.4 安裝

[root@localhost postgresql-14.5]# make install

安裝位置在2.2 由 --prefix=/usr/local/pgsql-14.5中指定

3 postgresql的設定

提示:在本檔案的描述的安裝過程前,系統已經安裝有其它版本的PostgreSQL,本次安裝非升級安裝。

3.1 建立使用者和組

建立組

[root@localhost ~]# groupadd postgres

建立使用者並加入組

[root@localhost pgsql-14.5]#useradd -g postgres postgres

3.2 建立資料庫庫檔案儲存目錄、給postgres賦予許可權

建立資料庫庫檔案儲存目錄data

[root@localhost DISK-8T]# mkdir -p /run/media/postgres/data

data目錄授權給postgres.postgres

[root@localhost DISK-8T]# chown postgres.postgres /run/media/postgres/data

3.3 初始化資料庫目錄

切換使用者

[root@localhost bin]# su – postgres

初始化資料 -D指定初始化建立的資料庫的檔案路徑

-bash-4.2$ /usr/local/pgsql-14.5/bin/initdb -D /run/media/postgres/data

提示:紅框中標註為postgres14.5的啟動方式

/usr/local/pgsql-14.5/bin/pg_ctl -D /run/media/postgres/data -l logfile start

3.4 啟動停止postgres14.5

3.4.1 啟動

切換使用者 PG是禁止使用超級管理員來執行該命令的

[root@localhost lib]# su postgres

啟動資料庫

-bash-4.2$ /usr/local/pgsql-14.5/bin/pg_ctl -D /run/media/postgres/data -l logfile start

3.4.2 停止

切換到postgres使用者

[root@localhost pgsql]# su - postgres

上一次登入:三 10月 19 13:31:02 CST 2022pts/0 上

-bash-4.2$ /usr/local/pgsql-14.5/bin/pg_ctl -D /run/media/postgres/data -l logfile stop

3.4.3 許可權不足的解決方法

切換到postgres使用者,執行資料庫啟動命令報logfile: 許可權不夠,可按下列方法解決:
編輯sudoers組態檔 ,按下圖紅框所示,給postgres使用者新增提升許可權的設定

[root@localhost bin]# vi /etc/sudoers

3.4.4 修改管理員密碼
說明:因伺服器存在多個版本的PG,因此先在/ usr / bin中建立一個postgre14.5版本對應的psql連結

[root@localhost psql]# ln -s /usr/local/pgsql-14.5/bin/psql /usr/bin/psql145

切換使用者

[root@localhost psql]# su - postgres

上一次登入:三 10月 19 14:08:33 CST 2022pts/0 上

執行postgre14.5 對應的psql

-bash-4.2$ psql145
psql145 (14.5)
Type "help" for help.
postgres=#
修改管理員密碼
\q再exit退出

postgres=# alter role postgres with password '123';

3.5 開啟遠端存取

3.5.1 開啟遠端存取

切換到資料庫目錄

[root@localhost pgsql]# cd /run/media/postgres/data

修改postgresql.conf 組態檔,開啟遠端存取

把listen_addresses = 'localhost',修改成 listen_addresses = '*'

可在此檔案中修改伺服器埠

[root@localhost postgre14.5Data]# vi postgresql.conf

3.5.2 設定認證方式
修改pg_hba.conf 新增遠端存取的認證方式
未尾新增 host all all 0.0.0.0/0 md5

[root@localhost postgre14.5Data]# vi pg_hba.conf

3.5.3 測試連線
使用Navicat測試資料庫連線