简介 (百度百科)
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL。
性能对比 (mysql)
同一台物理机上单表插入10万数据,批量插入mysql 需要65秒左右,批量插入PostgreSQL需要4秒左右,单条插入mysql需要275秒左右 ,单条插入PostgreSQL需要65秒左右,单独查询一条时间时间相差不大,批量查询40万数据,mysql需要9秒,PostgreSQL需要5秒左右(吞吐量上mysql可能处于下风,mysql的优势用的多熟练好上手)测试结果肯能会有误差,但是代码实测,确实是PostgreSQL性能更优。
安装步骤
PostgreSQL 官网:https://www.postgresql.org/download/linux/redhat/
1.装RPM
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2.安装客户端
sudo yum install postgresql13
3.安装服务端
sudo yum install -y postgresql13-server
4.配置数据库
a.初始化数据库
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
b.设置开机自启
sudo systemctl enable postgresql-13
c.启动服务
sudo systemctl start postgresql-13
d.进入postgresql 数据库
sudo su - postgres
e.执行命令
psql
修改管理员密码,
alter role postgres with password '你的密码';
退出
\q
exit
现在数据库服务已经启动好了 但是不能远程连接需要修改配置才能远程连接
修改文件
sudo vim /var/lib/pgsql/13/data/postgresql.conf
这块原来是注释的要打开这块的注释
保存
还需要修改一个配置文件 这主要是修改认证方式的
sudo vim /var/lib/pgsql/13/data/pg_hba.conf
文末加上:
host all all 0.0.0.0/0 md5
保存后需要开放端口或者关闭防火墙都可以
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
重启数据库服务
sudo systemctl start postgresql-13
测试一下
大功告成!!!
二、安装postgis3
1.PostGIS从2.0之后,要安装很多依赖组件,为了便于依赖组件的安装防止依赖检测失败,先安装epel (Extra Packages for Enterprise Linux)
sudo yum install epel-release
2、查看可用的postgis的包,选择和postgresql对应的所有版本。
yum list postgis*
3、安装postgis组件
sudo yum install postgis32_14.x86_64
安装成功后可以利用命令查看安装信息:
rpm -qi postgis32_13
4、安装完毕后切换为postgres用户,添加扩展。
sudo su - postgres
psql
postgres=# create extension postgis;
postgres=# create extension postgis_raster;
postgres=# create extension postgis_topology;
postgres=# create extension postgis_sfcgal;
postgres=# create extension fuzzystrmatch;
postgres=# create extension address_standardizer;
postgres=# create extension address_standardizer_data_us;
postgres=# create extension postgis_tiger_geocoder;
5、验证Postgis扩展
postgres=# \dx
扩展添加完成