由于更换了云服务器,需要重新部署PostGreSQL|PostGIS,所以记录一下Linux CentOS 7 x86-64环境下,PostGreSQL|PostGIS的部署过程。
参考文档:PostgreSQL: Linux downloads (Red Hat family)。
yum安装PostGreSQL
通过yum安装PostGreSQL,
0.Linux系统版本信息
查看Linux系统的版本信息命令:cat /proc/version,查询结果中包含:el7的关键词,具体含义如下,
EL是Red Hat Enterprise Linux(EL)的缩写。
EL5是Red Hat 5.x,CentOS 5.x
EL6是Red Hat 6.x,CentOS 6.x
EL7是Red Hat 7.x,CentOS 7.x
EL8是Red Hat 8.x,CentOS 8.x
1. 选择需要安装的PG版本:13,
接着,根据官网提供的安装命令逐个执行就好了,
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql13-server
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
sudo systemctl enable postgresql-13
sudo systemctl start postgre服务器托管网sql-13
2.查看PostGreSQL服务运行状态
上面已经将postgresql-13注册为系统服务了,直接使用systemctl status命令查看即可,
systemctl status postgresql-13
3.查找postgresql相关的目录:find命令
查找命令如下,
find / -name *postgres*
4.关于initdb命令的数据库初始化路径
如下命令完成了数据库文件的初始化过程,
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
生成的数据库文件默认位于:/var/lib/pgsql/版本号,例如:我这里安装的是13版本,那么就是:/var/lib/pgsql/13,后续关于数据的端口号配置、ip访问限制等都需要用到这个路径。
5.重置数据库postgres用户密码
PostGreSQL数据库安装完成之后,默认会创建一个postgres用户,可以通过passwd postgres命令重置用户密码。
6.修改默认端口号|开启远程访问
找到:/var/lib/pgsql/13/data/路径,
①配置端口号,
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;服务器托管网
port = 15432 # (change requires restart)
②配置远程访问,IPv4新增host all all 0.0.0.0/0 trust ,
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 0.0.0.0/0 trust #新增
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
7.服务器防火墙配置:开放端口号
我这里是云服务器,直接在控制台配置即可,
也可以通过修改linux系统配置文件,vim /usr/lib/firewalld/services/ssh.xml
, PostgreSQL服务默认是5432
端口,我这里要配置成15432,
yum安装PostGIS
8.安装epel
安装epel (Extra Packages for Enterprise Linux),命令如下,
yum install epel-release
9.安装postgis安装
yum list postgis*
执行如上命令,查看可以安装的postgis包,
找到与postgresql-13对应的postgis安装包,我这里选择如下(可能是因为已经安装过了,所以列表中就没有显示这一项),
postgis32_13.x86_64 3.2.5-1.rhel7 pgdg13
连接测试:开启PostGIS拓展支持
10.使用Navicat远程连接到PostGreSQL数据库
略。
11.新建空间数据库
新建一个名称为postgis_32_test的空间数据库,并打开,开启PostGIS空间拓展支持,
create extension postgis
测试空间拓展函数是否可用,
select postgis_version()
select ST_SetSRID(ST_Point(-108,30.741),4326);
SELECT ST_ASGEOJSON(ST_GeomFromText('POINT(-106.51 29.741)',4326))
执行无误,安装成功,
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net