1. 更新yum源 CentOS7預設yum源的PostgreSQL版本過低,不適合在本版本上使用。在上找到適合CentOS7的RPM源,複製其url地址,使用yum安裝。 同時安裝epel(Extra Packages for Enterprise Linux 7),為了穩定性,CentOS7的默 ...
更新yum源
CentOS7預設yum源的PostgreSQL版本過低,不適合在本版本上使用。在https://yum.postgresql.org/repopackages.php上找到適合CentOS7的RPM源,複製其url地址,使用yum安裝。
同時安裝epel(Extra Packages for Enterprise Linux 7),為了穩定性,CentOS7的預設yum源缺少很多組件,這些組件可以在epel上找到。
命令:
yum install -y https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
yum -y install epel-release
- 安裝PostgreSQL
使用yum search postgre
命令可以看到多個版本的PostgreSQL,這裡我選擇了PostgreSQL10。
yum install -y postgresql10-server postgresql10-contrib
初始化
/usr/pgsql-10/bin/postgresql10-setup initdb
設置開機啟動
systemctl enable postgresql-10
啟動資料庫
systemctl start postgresql-10
- 配置資料庫
配置遠程訪問,編輯/var/lib/pgsql/10/data/postgresql.conf
,找到listen_addresses,如果想對所有IP開放,把listen_addresses的值改為‘*’,如果只對部分IP開放,多個IP之間用,
(逗號加空格)隔開。
配置賬戶訪問許可權,編輯/var/lib/pgsql/10/data/pg_hba.conf
,文件分為5列,分別是TYPE、DATABASE、USER、ADDRESS、METHOD,可以對不同IP地址的用戶設置不同資料庫的訪問許可權。最後一列METHOD的解析如下:
trust 任何連接都允許,不需要密碼
reject 拒絕符合條件(前面幾個條件)的請求
MD5 接收一個MD5加密過的密碼
password 接收一個密碼來登陸,只在可信的網路使用這種方式
gss 使用gssapi認證,只在tcp/ip連接可用
sspi 只在windows可用的一種方式
krb5 不常用,只在TCP/IP可用
ident 使用操作系統用戶名認證,驗證它是否符合請求的的資料庫用戶名
ldap 使用LDAP伺服器認證
cert 使用ssl客戶端認證
pam 使用操作系統的pam模塊服務
如果要求所有IP都是使用密碼登錄,則配置為host all all 0.0.0.0/0 md5
。
- 安裝PostGIS
使用yum search postgis
命令可以看到多個版本的PostGIS,這裡我選擇postgis25,yum install -y postgis25_10
,安裝完畢後切換為postgres用戶,開啟擴展。
// 開啟插件
# su postgres
# psql
// 開啟pgsql的插件
postgres=# create extension postgis;
postgres=# create extension postgis_topology;
postgres=# create extension fuzzystrmatch;
postgres=# create extension address_standardizer;
postgres=# create extension address_standardizer_data_us;
postgres=# create extension postgis_tiger_geocoder;
至此,PostgreSQL和PostGIS安裝完畢。
參考網址
http://postgis.net/install/
https://blog.csdn.net/weixin_34150830/article/details/92529479
https://www.cnblogs.com/xulingjie/p/9605472.html
https://www.cnblogs.com/EasonJim/p/9023607.html