這篇文章給大家分享的是有關(guān)Centos 7上如何安裝Postgresql10.5和PostGIS的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司主營(yíng)濮陽(yáng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開(kāi)發(fā),濮陽(yáng)h5成都小程序開(kāi)發(fā)搭建,濮陽(yáng)網(wǎng)站營(yíng)銷推廣歡迎濮陽(yáng)等地區(qū)企業(yè)咨詢
設(shè)置/etc/resolv.conf
讓linux server可以上網(wǎng)
查看postgresql源:
yum list | grep postgresql
首先安裝PostgreSQL的rpm:
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos1-10-2.noarch.rpm -y
yum list | grep postgresql
安裝postgresql10-contrib和postgresql10-server。
yum install postgresql10-contrib postgresql10-server -y
這樣會(huì)給我們的系統(tǒng)增加一個(gè)postgres用戶。
cat /etc/passwd
修改默認(rèn)數(shù)據(jù)目錄
Postgresql默認(rèn)的數(shù)據(jù)目錄是/var/lib/pgsql/版本號(hào)/data目錄,這要求你在/var下有足夠的存儲(chǔ)空間,我們這里將其換掉,假設(shè)/home的空間很大。
首先在/home下創(chuàng)建一個(gè)Postgresql的數(shù)據(jù)目錄,指定所有者postgres同時(shí)分配權(quán)限
mkdir /home/postgresql_data
chown postgres:postgres /home/postgresql_data
chmod 750 /home/postgresql_data
設(shè)置環(huán)境變量:
export PATH=/usr/pgsql-10/bin:$PATH
export LD_LIBRARY_PATH=/usr/pgsql-10/lib
export PGDATA=/home/postgresql_data
切換到postgres用戶,使用initdb初始化數(shù)據(jù)庫(kù),這樣在/home/postgresql_data下會(huì)增加很多東西。
修改/usr/lib/systemd/system/postgresql-10.service文件的內(nèi)容,在#Location of database direcotry里面指定正確的PGDATA:
#Location of database directoryEnvironment=PGDATA=/home/postgresql_data
配置數(shù)據(jù)庫(kù)服務(wù)開(kāi)機(jī)啟動(dòng)并立即啟動(dòng)數(shù)據(jù)庫(kù)服務(wù):
systemctl enable postgresql-10.service
service postgresql-10 start
service postgresql-10 status
修改密碼:
passwd postgres
\l 列出當(dāng)前庫(kù):
安裝PostGIS:
先安裝幾個(gè)工具包
yum install wget net-tools epel-release -y
然后安裝postgis
[root@td-db-t01 ~]# yum install postgis24_10 postgis24_10-client -y
yum install postgis24_10 postgis24_10-client -y
安裝拓展工具
yum install ogr_fdw10 -y yum install pgrouting_10 -y
創(chuàng)建數(shù)據(jù)庫(kù)spatial_testdb
CREATE DATABASE spatial_testdb OWNER postgres;
進(jìn)入
\c spatial_testdb
安裝PostGis擴(kuò)展
spatial_testdb=# CREATE EXTENSION postgis;
spatial_testdb=# CREATE EXTENSION postgis_topology;
spatial_testdb=# CREATE EXTENSION ogr_fdw;
然后可以驗(yàn)證是否安裝成功
創(chuàng)建空間數(shù)據(jù)表
存儲(chǔ)城市信息(cities),并添加一個(gè)存儲(chǔ)空間位置的列
spatial_testdb=# CREATE TABLE cities(id varchar(20),name varchar(50));
spatial_testdb=# SELECT AddGeometryColumn ('cities', 'the_geom', 4326, 'POINT', 2);
查詢
spatial_testdb=# SELECT * FROM cities;
spatial_testdb=# SELECT id, ST_AsText(the_geom), ST_AsEwkt(the_geom), ST_X(the_geom), ST_Y(the_geom) FROM cities;
空間查詢城市相互距離
設(shè)置遠(yuǎn)程連接
修改配置文件
首先修改/home/postgresql_data/pg_hba.conf,改為:
原先是:
改為:
其次修改/home/postgresql_data/postgresql.conf,改為:
改為:
改為:
之后重啟服務(wù)
service postgresql-10 restart
重要:開(kāi)啟服務(wù)器防火墻
firewall-cmd --add-service=postgresql --permanent 開(kāi)放postgresql服務(wù)
firewall-cmd --reload 重載防火墻
遠(yuǎn)程連接
這里使用pgAdmin進(jìn)行遠(yuǎn)程連接,下載地址:https://www.pgadmin.org/download/pgadmin-4-windows/。選擇創(chuàng)建服務(wù)器,填入相應(yīng)內(nèi)容,主機(jī)名稱填自己服務(wù)器的IP 。
如果你的系統(tǒng)上沒(méi)有安裝使用命令安裝
安裝firewalld 防火墻yum install firewalld
開(kāi)啟服務(wù)systemctl start firewalld.service
關(guān)閉防火墻systemctl stop firewalld.service
開(kāi)機(jī)自動(dòng)啟動(dòng)systemctl enable firewalld.service
關(guān)閉開(kāi)機(jī)制動(dòng)啟動(dòng)systemctl disable firewalld.service
感謝各位的閱讀!關(guān)于“Centos 7上如何安裝Postgresql10.5和PostGIS”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!