由于更换了云服务器,需要重新部署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的关键词,具体含义如下,
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 postgresql-13 
2.查看PostGreSQL服务运行状态
上面已经将postgresql-13注册为系统服务了,直接使用systemctl status命令查看即可,
systemctl status postgresql-13 
3.查找postgresql相关的目录:find命令

查找命令如下,
4.关于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空间拓展支持,
测试空间拓展函数是否可用,
select postgis_version()
select ST_SetSRID(ST_Point(-108,30.741),4326);
SELECT ST_ASGEOJSON(ST_GeomFromText('POINT(-106.51 29.741)',4326)) 
执行无误,安装成功,




