下載
官網下載地址:
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
看到如下截圖表示已經成功: