PostgreSQL12.4及PostGIS3.0安装
上次写的一篇 离线安装pg库,最近又按照教程安装了几次,有些地方写的不是很清楚,再写一篇作为补充。
查看操作系统版本
cat /etc/redhat-release
一、安装PostgreSQL12.4
1、下载rpm安装包,用rpm -ivh命令依次安装
文章末尾提供了离线的安装包,懒人自取
rpm -ivh postgresql12-libs-12.3-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-12.3-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-server-12.3-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-contrib-12.3-1PGDG.rhel7.x86_64.rpm
2、查看安装信息
$ rpm -qi postgresql12
$ rpm -qal | grep postgres
3、初始化数据库
$ /usr/pgsql-12/bin/postgresql-12-setup initdb
4、配置开机启动
$ systemctl enable postgresql-12
启动服务
$ systemctl start postgresql-12
重启服务
$ systemctl restart postgresql-12
停止服务
$ systemctl stop postgresql-12
5、修改密码
$ su - postgres
psql
alter user postgres with password ‘postgres’;
6、查看数据存储路:
show data_directory;
数据存储默认路径:
/var/lib/pgsql/12/data
退出
\q
7、查看安装版本
psql -V
8、开放端口
$ firewall-cmd --add-port=5432/tcp --permanent
$ firewall-cmd --reload
9、指定数据存储路径
原数据保存在/var/lib/pgsql/12/data,修改为/data/postgresql/pgdata这个路径下,可以自定义
mkdir -p /data/postgresql/pgdata
chown -R postgres:postgres /data/postgresql/pgdata
10、自定义systemd服务
systemctl edit postgresql-12.service
添加
[Service]
Environment=PGDATA=/data/postgresql/pgdata/
依次用命令:Ctrl+X 、 Y 、Ctrl+M
检查内容
cat /etc/systemd/system/postgresql-12.service.d/override.conf
11、重新加载系统
systemctl daemon-reload
12、初始化数据目录
/usr/pgsql-12/bin/postgresql-12-setup initdb
重启服务
$ systemctl enable postgresql-12
$ systemctl restart postgresql-12
13、编辑配置文件
$ vim /data/postgresql/pgdata/postgresql.conf
修改listen_addresses = ‘*’和port = 5432
$ vim /data/postgresql/pgdata/pg_hba.conf
在ipv4下添加host all all 0.0.0.0/0 md5
二、安装PostGIS3.0
1.下载rpm包并上传安装文件到指定文件夹中
(1)boost-serialization-1.53.0-28.el7.x86_64.rpm
(2)cfitsio-3.370-10.el7.x86_64.rpm
(3)CGAL-4.7-1.rhel7.1.x86_64.rpm
(4)CharLS-1.0-5.el7.x86_64.rpm
(5)cpp-4.8.5-39.el7.x86_64.rpm
(6)freexl-1.0.6-1.el7.x86_64.rpm
(7)gcc-4.8.5-39.el7.x86_64.rpm
(8)gcc-c++-4.8.5-39.el7.x86_64.rpm
(9)gdal31-libs-3.1.3-1.rhel7.x86_64.rpm
(10)geos38-3.8.1-2.rhel7.x86_64.rpm
(11)glibc-2.17-307.el7.1.x86_64.rpm
(12)glibc-common-2.17-307.el7.1.x86_64.rpm
(13)glibc-devel-2.17-307.el7.1.x86_64.rpm
(14)glibc-headers-2.17-307.el7.1.x86_64.rpm
(15)hdf5-1.8.12-11.el7.x86_64.rpm
(16)kernel-headers-3.10.0-1127.18.2.el7.x86_64.rpm
(17)libaec-1.0.4-1.el7.x86_64.rpm
(18)libdap-3.13.1-2.el7.x86_64.rpm
(19)libgeotiff16-1.6.0-1.rhel7.x86_64.rpm
(20)libgfortran-4.8.5-39.el7.x86_64.rpm
(21)libgta-1.0.4-1.el7.x86_64.rpm
(22)libquadmath-4.8.5-39.el7.x86_64.rpm
(23)libstdc++-devel-4.8.5-39.el7.x86_64.rpm
(24)libzstd-1.4.5-3.el7.x86_64.rpm
(25)mesa-libGLU-9.0.0-4.el7.x86_64.rpm
(26)ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
(27)netcdf-4.3.3.1-5.el7.x86_64.rpm
(28)ogdi41-4.1.0-2.rhel7.x86_64.rpm
(29)pgdg-redhat-repo-42.0-11.noarch.rpm
(30)postgis30_12-3.0.2-2.rhel7.x86_64.rpm
(31)proj71-7.1.0-1.rhel7.x86_64.rpm
(32)protobuf-c-1.0.2-3.el7.x86_64.rpm
(33)readline-devel-6.2-11.el7.x86_64.rpm
(34)SFCGAL-1.3.1-2.rhel7.x86_64.rpm
(35)SFCGAL-libs-1.3.1-2.rhel7.x86_64.rpm
(36)sqlite33-3.30.1-1.rhel7.x86_64.rpm
(37)sqlite33-libs-3.30.1-1.rhel7.x86_64.rpm
(38)unixODBC-2.3.1-14.el7.x86_64.rpm
(39)xerces-c-3.1.1-10.el7_7.x86_64.rpm
(40)zlib-devel-1.2.7-18.el7.x86_64.rpm
2.暴力安装所有rpm包
rpm -ivh *.rpm --nodeps --force
3.查看安装信息
rpm -qi postgis30_12
4.启动服务,创建扩展
sudo su - postgres
psql
创建扩展
postgres=# CREATE EXTENSION postgis;
CREATE EXTENSION
查看扩展
postgres=# SELECT PostGIS_version();
5.创建数据表
CREATE TABLE stations ( id varchar(12) primary key, lonlat geometry(Point,4326), area float8, polygon geometry(Polygon,4326) );
插入数据
INSERT INTO stations (id, lonlat, area, polygon) VALUES ('A12345',ST_GeomFromText('POINT(121.50 31.22)',4326),22222.1234,ST_GeomFromText('POLYGON ((121.71436091670316 31.38080337674083, 121.70173615072089 31.388605486784197, 121.70751628677645 31.4199972067024, 121.71832867120243 31.437168981489133, 121.73193985623796 31.37984624401758, 121.71436091670316 31.38080337674083))',4326));
链接: 安装包资源!
本文档详述了如何在CentOS系统上离线安装PostgreSQL12.4数据库和PostGIS3.0扩展,包括下载rpm包、初始化数据库、配置开机启动、修改密码、开放端口、指定数据存储路径以及安装PostGIS并创建扩展和数据表的步骤。
1667





