PostgreSQL 安装

  • Post author:
  • Post category:其他


官方网站


https://www.postgresql.org/download/



一:安装postgresql

# 更新仓库源
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 postgresql14-server
# 初始化数据库
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
# 启动服务
sudo systemctl enable postgresql-14
sudo systemctl start postgresql-14



二:修改配置

2.1 修改postgresql.conf文件

vim /var/lib/pgsql/15/data/postgresql.conf
#取消注释,修改listen_addresses为'*'表示监听任意地址
修改最大连接数max_connections=1000

在这里插入图片描述

2.2 修改pg_hba.conf文件

vim /var/lib/pgsql/15/data/pg_hba.conf
#新增一行
host  all  all 0.0.0.0/0 scram-sha-256

在这里插入图片描述

2.3 重启服务

sudo systemctl restart postgresql-15

2.4 修改用户密码

#使用postgres用户
su postgres
#进入sql client
psql

#或者使用这个命令直接从别的用户进入sql client
# sudo -u postgres psql

#修改数据库中postgres用户密码
ALTER USER postgres WITH PASSWORD '123456';
#退出
\q

在这里插入图片描述



三:开发防火墙端口

firewall-cmd --permanent --zone=public --add-port=5432/tcp
firewall-cmd --reload



四: 安装PostGIS

4.1 先安装epel (Extra Packages for Enterprise Linux)

yum install epel-release 

4.2 查看可用的postgis的包,选择和postgresql-13对应的所有版本

yum list postgis*,

在这里插入图片描述

4.3 安装postgis

yum install postgis32_13.x86_64
# 32_13.x86_64版本根据需要更换为自己需要的

4.4 查看安装信息

rpm -qi postgis32_13

在这里插入图片描述

4.5 Navicat连接,并开启PostGIS扩展

create extension postgis;



五:最后

部分SQL语句创建及查询
 
--给PostGIS添加扩展及扩展解释
 
CREATE EXTENSION postgis; --postgis的基本核心功能,仅支持地理图形(矢量要素),在其他Extension前启用
 
CREATE EXTENSION postgis_raster; --对栅格数据的支持
 
CREATE EXTENSION postgis_topology; --拓扑功能的支持
 
CREATE EXTENSION postgis_sfcgal; --这个Extension主要是集成了CGAL(Computational Geometry Algorithms Library,计算几何算法库),来进行三维空间数据的空间运算,例如:ST_3DDifference、ST_3DUnion 等,可见是通常空间运算在三维空间上的拓展
 
CREATE EXTENSION address_standardizer_data_us;
CREATE EXTENSION address_standardizer;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder; --TIGER指的是(拓扑集成地理编码和参考),这个是美国人口普查局的GIS数据,提供了美国全国的行政区划、交通道路、水系等空间数据。这个Extension提供了TIGER数据的地理编码支持,需要注意的是这个Extension启用前,需要先启用fuzzystrmatch(字符串模糊查询)Extension,以及可选的address_standardizer(TIGER数据地址规则化)address_standardizer_data_us(地址规则化示例数据集)Extension
 
-- --二维空间数据创建
-- -- 创建含有单点的几何表
-- CREATE TABLE point (name varchar, geom geometry);
-- INSERT INTO point VALUES ('Point', 'POINT(0 0)');
 
-- -- 创建含有单线的几何表
-- CREATE TABLE line (name varchar, geom geometry);
-- INSERT INTO line VALUES ('road', 'LINESTRING(0 0, 1 1, 2 1, 2 2)');
 
-- -- 创建含有单面的几何表
-- CREATE TABLE polygon (name varchar, geom geometry);
-- INSERT INTO polygon VALUES ('boundary', 'POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))');
 
-- --三维空间数据创建
-- -- 创建含有三棱柱的表
-- CREATE TABLE triangularPyramid (name varchar, geom geometry); 
-- INSERT INTO triangularPyramid (name, geom) VALUES ('beam', ST_Extrude(ST_GeomFromText('POLYGON((0 0,1 3,2 0, 0 0))'),0,0,10));
 
-- -- 创建含有立方体的表
-- CREATE TABLE cubeBox (name varchar, geom geometry); 
-- INSERT INTO cubeBox (name, geom) VALUES ('box', ST_Extrude(ST_GeomFromText('POLYGON((0 0,2 0,2 2,0 2,0 0))'),0,0,2));
 
-- --查询预览
-- -- 查询含有三棱柱的表
-- SELECT name, ST_AsText(geom) AS ewkt FROM triangularPyramid;
-- -- 查询含有立方体的表
-- SELECT name, ST_AsText(geom) AS ewkt FROM cubeBox;
-- -- 查看三棱柱的X3D格式文本
-- SELECT ST_AsX3D(geom) AS x3d FROM triangularPyramid;
-- -- 查看立方体的X3D格式文本
-- SELECT ST_AsX3D(geom) AS x3d FROM cubeBox;



版权声明:本文为qq_34748010原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。