安装PostgreSQL12和PostGIS3.1

一、安装PostgreSQL

1、安装EPEL

1
sudo yum install epel-release

2、安装PostgreSQL服务

1
sudo yum install -y postgresql12 postgresql12-server

3、初始化数据库

1
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb 

4、启动PostgreSQL服务

1
2
3
4
5
#启动PostgreSQL服务
sudo systemctl start postgresql-12

#设置PostgreSQL服务为开机启动
sudo systemctl enable postgresql-12

二、修改postgres账号密码

PostgreSQL安装成功之后,会默认创建一个名为postgres的Linux用户,初始化数据库后,会有名为postgres的数据库,来存储数据库的基础信息,例如用户信息等等,相当于MySQL中默认的名为mysql数据库。

postgres数据库中会初始化一名超级用户postgres

为了方便我们使用postgres账号进行管理,我们可以修改该账号的密码

1、修改系统账号postgres的密码

1
passwd postgres

2、进入PostgreSQL命令行

通过su命令切换linux用户为postgres会自动进入命令行

1
su postgres

3、启动SQL Shell

1
psql

4、修改数据库postgres账户密码

1
ALTER USER postgres WITH PASSWORD 'NewPassword';

三、配置远程访问

1、开放端口

备注:阿里云需要在安全组中打开端口

1
2
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload

2、修改IP绑定

1
2
3
4
5
#修改配置文件
vi /var/lib/pgsql/12/data/postgresql.conf

#将监听地址修改为*
listen_addresses='*'

3、允许所有IP访问

1
2
3
4
5
#修改配置文件
vi /var/lib/pgsql/12/data/pg_hba.conf

#在文件尾部加入
host all all 0.0.0.0/0 md5

4、重启PostgreSQL服务

1
2
#重启PostgreSQL服务
sudo systemctl restart postgresql-12

四、安装和配置PostGIS

1、安装

1
yum install postgis31_12

其中31表示PostGIS 3.1,12表示PostgreSQL 12

2、在数据库中安装扩展

在数据查询中输入以下语句安装扩展

1
create extension postgis

为了在QGIS里用起来方便,最好是安装在public schema,也可以安装在别的schema。

参考

https://www.cnblogs.com/kentalk/p/centos7-postgresql12-install-and-configuration.html