Centos7 安装Postgresql10(2)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

mkdir /home/postgresql_data
chown postgres:postgres /home/postgresql_data
chmod 750 /home/postgresql_data


设置环境变量



export PATH=/usr/pgsql-10/bin:$PATH
export LD_LIBRARY_PATH=/usr/pgsql-10/lib
export PGDATA=/home/postgresql_data


切换到postgres用户,使用initdb初始化数据库,这样在/home/postgresql\_data下会增加很多东西,   
 ![这里写图片描述](https://img-blog.csdn.net/20180814101303263?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


修改/usr/lib/systemd/system/postgresql-10.service文件的内容,在#Location of database direcotry里面指定正确的PGDATA:



#Location of database directory
Environment=PGDATA=/home/postgresql_data


**3.配置数据库服务开机启动并立即启动数据库服务**



systemctl enable postgresql-10.service
service postgresql-10 start
service postgresql-10 status


检查数据库状态,有绿色,没红色说明启动完成   
 ![这里写图片描述](https://img-blog.csdn.net/20180814101912439?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


这个过程中出现过一个错误,启动失败:   
 ![这里写图片描述](https://img-blog.csdn.net/20180814102920724?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)   
 我这边将/home/postgresql\_data下的postmaster.pid删除再重启服务就好了


**4.修改密码**   
 分为postgres用户密码和数据库密码,保持一致吧



passwd postgres


![这里写图片描述](https://img-blog.csdn.net/20180814102456322?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


设置数据库密码:



su postgres
psql
ALTER USER postgres WITH PASSWORD ‘密码’;


\l 列出当前库:   
 ![这里写图片描述](https://img-blog.csdn.net/20180814102641277?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


### 安装PostGIS


**1.先安装几个工具包**



yum install wget net-tools epel-release -y


然后安装postgis



yum install postgis24_10 postgis24_10-client -y


安装拓展工具



yum install ogr_fdw10 -y
yum install pgrouting_10 -y


**2.创建数据库spatial\_testdb**



CREATE DATABASE spatial_testdb OWNER postgres;


进入



\c spatial_testdb


安装PostGis扩展



spatial_testdb=# CREATE EXTENSION postgis;
spatial_testdb=# CREATE EXTENSION postgis_topology;
spatial_testdb=# CREATE EXTENSION ogr_fdw;


然后可以验证是否安装成功



SELECT postgis_full_version();


![这里写图片描述](https://img-blog.csdn.net/20180814105648540?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


**3.创建空间数据表**   
 存储城市信息(cities),并添加一个存储空间位置的列



spatial_testdb=# CREATE TABLE cities(id varchar(20),name varchar(50));
spatial_testdb=# SELECT AddGeometryColumn (‘cities’, ‘the_geom’, 4326, ‘POINT’, 2);


之后插入数据



spatial_testdb=# INSERT INTO cities(id, the_geom, name) VALUES (1,ST_GeomFromText(‘POINT(-0.1257 51.508)’,4326),‘London, England’);
spatial_testdb=# INSERT INTO cities (id, the_geom, name) VALUES (2,ST_GeomFromText(‘POINT(-81.233 42.983)’,4326),‘London, Ontario’);
spatial_testdb=# INSERT INTO cities (id, the_geom, name) VALUES (3,ST_GeomFromText(‘POINT(27.91162491 -33.01529)’,4326),‘East London,SA’);


**4.查询**



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;


![这里写图片描述](https://img-blog.csdn.net/2018081411020498?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


![这里写图片描述](https://img-blog.csdn.net/20180814110214151?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


空间查询城市相互距离   
 ![这里写图片描述](https://img-blog.csdn.net/20180814110329636?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


### 设置远程连接


**1.修改配置文件**   
 首先修改/home/postgresql\_data/pg\_hba.conf,改为:   
 ![这里写图片描述](https://img-blog.csdn.net/20180814124612127?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)   
 其次修改/home/postgresql\_data/postgresql.conf,改为:   
 ![这里写图片描述](https://img-blog.csdn.net/20180814124618267?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0MzA0NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)


之后重启服务



service postgresql-10 restart


**!!!重要**:开启服务器防火墙



firewall-cmd --add-service=postgresql --permanent 开放postgresql服务

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 25
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值