CentOS下PostgreSQL及php-pgsql(pdo_pgsql,pgsql)擴展安裝,全程自測並梳理記錄

下載

官網下載地址:

https://www.postgresql.org/download/linux/redhat/

根據提示進行相應的版本選擇(1,2,3):
在這裏插入圖片描述
執行步驟(4、5、6)的對應命令

至此安裝已經完成

現在開始創建用戶和數據庫

使用postgres用戶登錄(PostgresSQL安裝後會自動創建postgres用戶,無密碼)

su - postgres

登錄postgresql數據庫

psql

創建用戶和數據庫並授權

create user test_user with password 'abc123';            // 創建用戶
create database test_db owner test_user;                 // 創建數據庫
grant all privileges on database test_db to test_user;   // 授權

退出psql(輸入 \q 再按回車鍵即可)

\q

退出bash

exit
至此用戶及數據庫已經創建完成

現在開啓遠程訪問

修改/var/lib/pgsql/12/data/postgresql.conf文件,取消 listen_addresses 的註釋,將參數值改爲“*”

vi /var/lib/pgsql/10/data/postgresql.conf

如下圖所示
在這裏插入圖片描述
修改/var/lib/pgsql/12/data/pg_hba.conf文件,增加下圖紅框部分內容

vi /var/lib/pgsql/12/data/pg_hba.conf

如下圖所示
在這裏插入圖片描述
重啓postgresql服務

systemctl restart postgresql-12.service

配置防火牆(開啓5432端口,由於不同的防火牆開啓方法不同,此處不再贅述)

至此數據庫已經可以遠程正常連接

現在開始使用navicat測試連接

在這裏插入圖片描述
在這裏插入圖片描述
如果是通過ssh連接的,開防火牆的操作可以免除,但需要填寫ssh連接信息然後點擊測試連接即可出現上述截圖
在這裏插入圖片描述

至此navicat已經連接成功
關於postgresql的額外補充
修改默認生成的 postgres 用戶密碼

此postgres非上面的postgres用戶,此爲數據庫的用戶,上面的爲操作系統的用戶

su - postgres
psql -U postgres
alter user postgres with encrypted password '1';

在這裏插入圖片描述

服務啓動、關閉、重啓、查看狀態命令
systemctl start postgresql-10.service     // 啓動服務
systemctl stop postgresql-10.service      // 關閉服務
systemctl restart postgresql-10.service   // 重啓服務
systemctl status postgresql-10.service    // 查看狀態

安裝php-pgsql擴展前的準備工作

由於直接安裝php-pgsql會出現找不到libpq-fe.h頭文件,因此先裝這部分的支持(這裏順便整理列出了其他操作系統的安裝方式)

對於Ubuntu系統:

sudo apt-get install libpq-dev

在Red Hat Linux(RHEL)系統上:

yum install postgresql-devel

對於Mac Homebrew:

brew install postgresql

對於Mac MacPorts PostgreSQL:

gem install pg -- --with-pg-config=/opt/local/lib/postgresql[version number]/bin/pg_config

對於OpenSuse:

zypper in postgresql-devel
至此準備工作已經完成
現在安裝php-pgsql(pdo_pgsql,pgsql)擴展

這裏我們假設一個場景:
環境用的是lnmp.org所提供的lnmp1.6版一鍵安裝包,PHP版本用的是php-7.3.11
lnmp1.6一鍵安裝包所在路徑:

/home/lnmp1.6-full.tar.gz

首先進入/home,然後解壓一鍵安裝包,再進入src目錄,也就是這個安裝包的所有資源目錄,你可以在/home/lnmp1.6-full/src裏面找到php-7.3.11.tar.bz2,這個就是php-7.3.11的安裝包,接着我們解壓php-7.3.11的安裝包,進入/home/lnmp1.6-full/src/php-7.3.11/ext,在裏面有常用的擴展,其中就包括了pdo_pgsql,pgsql,考慮到操作的便捷性此處用一句話命令囊括安裝的命令:

cd /home &&  tar zxf lnmp1.6-full.tar.gz && cd lnmp1.6-full && cd src && tar -jxvf php-7.3.11.tar.bz2 && cd php-7.3.11 && cd ext && cd pgsql && phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install && cd .. && cd pdo_pgsql && phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
至此擴展已經安裝完成

現在開啓剛安裝的擴展

編輯php.ini文件

vi /usr/local/php/etc/php.ini

在末尾加上

extension=pdo_pgsql.so
extension=pgsql.so

重啓php,如果你用的也是lnmp,那就執行

lnmp restart

最後驗證擴展是否成功安裝並生效,執行以下命令:

php -m

看到如下截圖表示已經成功:
在這裏插入圖片描述

至此所有的操作均已完成
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章