1 安裝環境
CentOS 7
PostgreSQL 13
PostGIS 3.1
2 安裝PostgreSQL
2.1 參考官網方法安裝
進入PostgreSQL官網,查看安裝方法是最保險的
在官網中選擇對應的版本https://www.postgresql.org/download/linux/redhat/
,並根據提供的安裝腳本,進行安裝
查看postgresql的安裝位置
find / -name *postg*
find / -name *pgsql*
按照上述官網提供的方法,安裝的PostgreSQL,會建立一個名為postgres
的系統用戶,用於執行PostgreSQL。
修改Linux系統的postgres
用戶密碼為postgres
切換postgres
系統賬號,輸入psql
,進行數據庫用戶postgres
的密碼修改
執行psql
,默認進入postgres
用戶的postgres
數據庫
使用\du
查看用戶
使用\l
查看用戶的數據庫列表(以下庫為PostgreSQL默認裝上,不建議刪除)
使用\c
查看路徑
使用\d
查看數據表,沒有數據表顯示為(沒有找到任何關系
)
利用`\h`顯示命令的幫助,如`\h create database`,顯示創建數據庫命令的參數幫助
2.2 配置PostgreSQL
2.2.1 配置Linux防火牆端口
執行vim /usr/lib/firewalld/services/ssh.xml
, 由於PostgreSQL服務默認是5432
端口,所以添加5432
端口。
執行systemctl restart firewalld
重啟防火牆服務,使配置生效。
2.2.2 配置遠程訪問
修改postgresql.conf
文件
執行vim /var/lib/pgsql/13/data/postgresql.conf
默認的監聽本地訪問localhost
,改為*
,監聽所有對數據庫的訪問IP
修改pg_hba.conf
文件
執行vim /var/lib/pgsql/13/data/pg_hba.conf
,設置為允許192.168.1.0
上的所有主機通過用戶名驗證的方式訪問數據庫
表示允許網段192.168.1.0
在192.168.1.0/24
中,數字24
是子網掩碼,表示允許192.168.1.0--192.168.1.255
的計算機訪問
若192.168.0.0/16
,數字16
是一個網絡,表示允許192.168.0.0--192.255.255
的計算機訪問
若192.168.0.0/32
,則表示僅允許192.168.0.0
單一主機的計算機訪問
若0.0.0.0/0
,表示允許任意IP訪問數據庫
重啟postgresql服務
執行systemctl restart postgresql-13
3 安裝PostGIS
3.1 yum安裝PostGIS擴展
由於PostGIS從2.0之后,要安裝很多依賴組件,為了便於依賴組件的安裝,先安裝epel (Extra Packages for Enterprise Linux)
執行yum install epel-release
執行yum list postgis*
,查看可用的postgis的包,選擇和postgresql-13
對應的最新版postgis31_13.x86_64
執行yum install postgis31_13.x86_64
,安裝postgis組件
3.2 測試PostGIS擴展
1) 切換到postgres用戶
su postgres
2) 建立數據庫
建立名為postgis_31_test
,所屬用戶為postgres
的數據庫
bash-4.2$ createdb postgis_31_test -O postgres
3)連接數據庫
bash-4.2$ psql -d postgis_31_test
4)開啟PostGIS擴展
postgis_31_test=# create extension postgis;
**5)驗證PostGIS擴展
postgis_31_test=# select postgis_version();
postgis_31_test=# select ST_SetSRID(ST_Point(-108,30.741),4326),ST_GeomFromText('POINT(-106.51 29.741)',4326);