ITPub博客

首页 > 数据库 > PostgreSQL > Centos 7 上安装Postgresql10.5和PostGIS

Centos 7 上安装Postgresql10.5和PostGIS

原创 PostgreSQL 作者:ywxj_001 时间:2018-09-26 16:37:48 0 删除 编辑

设置/etc/resolv.conf

让linux server可以上网

查看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

这样会给我们的系统增加一个postgres用户。

cat /etc/passwd

修改默认数据目录

Postgresql默认的数据目录是/var/lib/pgsql/版本号/data目录,这要求你在/var下有足够的存储空间,我们这里将其换掉,假设/home的空间很大。

首先在/home下创建一个Postgresql的数据目录,指定所有者postgres同时分配权限

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下会增加很多东西。

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

#Location of database directory Environment = PGDATA = /home/postgresql _data

配置数据库服务开机启动并立即启动数据库服务:

systemctl enable postgresql-10.service 

service postgresql-10 start

service postgresql- 10 status

修改密码:

passwd postgres

\l 列出当前库: 

安装PostGIS:

先安装几个工具包

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

创建数据库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;

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

创建空间数据表

存储城市信息(cities),并添加一个存储空间位置的列

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;

空间查询城市相互距离

设置远程连接

修改配置文件

首先修改/home/postgresql_data/pg_hba.conf,改为: 

原先是:

改为:

其次修改/home/postgresql_data/postgresql.conf,改为: 

改为:


改为:


之后重启服务

service postgresql-10 restart

重要 :开启服务器防火墙

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

firewall - cmd -- reload   重载防火墙

远程连接  

这里使用pgAdmin进行远程连接,下载地址: https://www.pgadmin.org/download/pgadmin-4-windows/ 。选择创建服务器,填入相应内容,主机名称填自己服务器的IP 。


如果你的系统上没有安装使用命令安装

安装firewalld 防火墙 yum install firewalld

开启服务 systemctl start firewalld.service

关闭防火墙 systemctl stop firewalld.service

开机自动启动 systemctl enable firewalld.service

关闭开机制动启动 systemctl disable firewalld.service


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22996654/viewspace-2214946/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
在零售、金融、互联网行业从事数据库相关工作10余年,有丰富的数据库管理和架构的相关经验。 涉及SQLServer、Oracle、MySQL、PostgreSQL等多种数据库。 目前在一家互联网公司担任DBA经理。 负责整个集团数据库的架构设计和管理工作。

注册时间:2010-01-19

  • 博文量
    247
  • 访问量
    436205