首页 > 数据库 >PGSQL(PostgreSQL)数据库基础篇:PostgreSQL 的 主要优点 、 劣势 、体系结构 、核心功能 、安装教程。

PGSQL(PostgreSQL)数据库基础篇:PostgreSQL 的 主要优点 、 劣势 、体系结构 、核心功能 、安装教程。

时间:2024-01-09 12:03:20浏览次数:66  
标签:存储 PostgreSQL 数据库 支持 查询 PGSQL 索引 体系结构

PostgreSQL 的 主要优点

1.维护者是PostgreSQL Global Development Group,首次发布于1989年6月。 2.操作系统支持WINDOWS、Linux、UNIX、MAC OS X、BSD。 3.从基本功能上来看,支持ACID、关联完整性、数据库事务、Unicode多国语言。 4.表和视图方面,PostgreSQL支持临时表,而物化视图,可以使用PL/pgSQL、PL/Perl、PL/Python或其他过程语言的存储过程和触发器模拟。 5.索引方面,全面支持R-/R+tree索引、哈希索引、反向索引、部分索引、Expression 索引、GiST、GIN(用来加速全文检索),从8.3版本开始支持位图索引。 6.其他对象上,支持数据域,支持存储过程、触发器、函数、外部调用、游标 7.数据表分区方面,支持4种分区,即范围、哈希、混合、列表。 8.从事务的支持度上看,对事务的支持与MySQL相比,经历了更为彻底的测试。 9.My ISAM表处理方式方面,MySQL对于无事务的MyISAM表,采用表锁定,1个长时间运行的查询很可能会阻碍对表的更新,而PostgreSQL不存在这样的问题。 10.从存储过程上看,PostgreSQL支持存储过程。因为存储过程的存在也避免了在网络上大量原始的SQL语句的传输,这样的优势是显而易见的。 11.用户定义函数的扩展方面,PostgreSQL可以更方便地使用UDF(用户定义函数)进行扩展。 安装包下载

PostgreSQL 的 应用劣势

1.最新版本和历史版本不分离存储,导致清理老旧版本时需要做更多的扫描,代价比较大但一般的数据库都有高峰期,如果合理安排VACUUM,这也不是很大的问题,而且在PostgreSQL9.0中VACUUM进一步被加强了。 2.在PostgreSQL中,由于索引完全没有版本信息,不能实现Coverage index scan,即查询只扫描索引,不能直接从索引中返回所需的属性,还需要访问表,而Oracle与Innodb则可以。

PostgreSQL 的体系结构

PostgreSQL 的体系结构是以客户端-服务器模型为基础的。它包括以下核心组件:

客户端:用户通过客户端连接到 PostgreSQL 服务器来执行查询和操作数据库。

PostgreSQL 服务器:服务器接收客户端请求,并负责处理和执行 SQL 查询、管理事务、处理并发和数据存储等。

后台进程:这些进程负责管理数据库的不同方面,例如自动化备份、日志记录、统计信息收集和查询优化等。

共享缓冲区:服务器使用共享缓冲区来提高性能,将常用的数据存储在内存中,加快数据访问速度。

PostgreSQL 的核心功能

PostgreSQL 提供了丰富的核心功能,使其成为广泛使用的数据库解决方案。以下是几个重要的核心功能:

高级查询功能:PostgreSQL 支持复杂的 SQL 查询,包括联接、子查询、聚合函数、窗口函数等。同时它还支持全文搜索、地理空间数据处理和图形数据分析等扩展功能。

完整性约束:PostgreSQL 允许定义各种完整性约束,例如主键、唯一约束、外键和检查约束,以保证数据的完整性和一致性。

触发器和存储过程:PostgreSQL 支持触发器和存储过程,允许在插入、更新或删除数据时执行自定义的业务逻辑。

并发控制:借助多版本并发控制(MVCC)技术,PostgreSQL 实现了高度并发的读写操作,避免数据锁定和读写冲突。

复制和高可用性:PostgreSQL 支持数据复制和流复制,可以创建热备份和实现高可用性架构。

扩展性:通过提供扩展机制,用户可以自定义和使用各种插件和扩展,从而增强 PostgreSQL 的功能。

PostgreSQL 的适用场景

由于其灵活性和可定制性,PostgreSQL 在多个应用场景中得到广泛应用。以下是几个常见的应用场景:

Web 应用程序:PostgreSQL 提供了可靠、高性能的数据库解决方案,适用于开发 Web 应用程序和电子商务平台。

地理信息系统:借助 PostGIS 扩展,PostgreSQL 可以有效地存储和查询地理空间数据,并支持空间分析功能。

数据仓库和大数据分析:PostgreSQL 具有处理复杂查询和大规模数据集的能力,适用于构建数据仓库和进行数据分析。

物联网(IoT)应用:由于其稳定、高可靠的特性,PostgreSQL 适用于处理大量传感器数据和实时事件。

安装部署

下载地址 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 下载后点击exe安装包 在这里插入图片描述

在这里插入图片描述 设置的data存储路径 在这里插入图片描述 设置密码 在这里插入图片描述 设置端口 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 安装完毕,配置PGSQL的ip远程连接,pg_hba.conf,postgresql.conf,需要更改这两个文件

pg_hba.conf 在这里插入图片描述 最后增加一行

host 	all  			all  			192.168.0.1/24  		trust

postgresql.conf 找到如下配置

listen_addresses 将listen_addresses改成listen_addresses='*' 在这里插入图片描述 重启windows pgsql服务或者重启pgsql

标签:存储,PostgreSQL,数据库,支持,查询,PGSQL,索引,体系结构
From: https://blog.51cto.com/u_16392500/9159000

相关文章

  • postgresql使用sql封装邮箱发送功能
    “ postgresql数据库支持python语言,同样可以封装一下python的邮件发送功能。        本文假设数据库中存有职员的花名册,对花名册进行遍历发送邮件。”01—数据库安装安装依赖yuminstall-ybisonflexreadline-develzlib-develzlibzlib-develgccgcc-c++openssl-d......
  • 在postgresql中用SQL封装python
    “ 对于一个数据库来说,SQL大家肯定最熟悉不过了。但是作为数据库开发者,我认为数据库不应该只是支持SQL语言。应该支持更多编程语言。比如python、java、c++等更多编程语言,让数据库在多种语言之间的管理、功能上实现最大便捷,这才是未来数据库最大的发展趋势。也是国产数据库在实现......
  • 计算机体系结构之并行机制知识点总结
    cpu支持哪些指令集,是硬件结构决定的,还是软件方式实现的?CPU支持的指令集是由其硬件结构决定的。指令集是一组与硬件交互的底层机器指令,它定义了CPU能够执行的基本操作,包括算术运算、逻辑操作、内存访问等。不同的CPU架构具有不同的指令集。在硬件层面,CPU的设计决定了它支持......
  • 使用 dbgate 在 sealos 上完美管理 mysql pgsql 等数据库
    先登录sealos创建数据库,可以创建个pgsql:再到模版市场启动dbgate:配置数据库的连接信息,即可搞定收工sealos以kubernetes为内核的云操作系统发行版,让云原生简单普及laf写代码像写博客一样简单,什么dockerkubernetes统统不关心,我只关心写业务!......
  • TDSQL(PostgreSQL版本) benchmark性能测试
    一、准备软件包jdk:地址:https://pan.baidu.com/s/1sbgLPROfd9e_valSfv0YAQ提取码:4qpsbenchmark:地址:https://pan.baidu.com/s/1nAHER-BXpgG0LUnR8NbT7Q提取码:xcbu二、安装1、jdk安装:1.1解压安装到34机器的/data/tbase/jdk目录下1.2配置环境变量如下:[tbase@VM_0_37_cent......
  • PostgreSQL 数据库归档最近被问及的问题问题 与 4 毋 处世学
    还是老规矩,技术加生活,先说技术,后说生活的感悟和人生的学习。在PostgreSQL中很少被提及的一个问题,归档,而这里经常有人问这个问题,所以需要写一期来说说关于ARCHIVE的问题。首先我们需要提出几个问题,1为什么要归档,PG中归档了什么2 什么时间进行归档,归档的原理与频率3  要怎么在......
  • 软件体系结构与设计模式之适配器模式
    一.单选题(共4题,8分)(单选题,2分)当想使用一个已经存在的类,但其接口不符合需求时,可以采用()设计模式将该类的接口转换成我们希望的接口。A.命令(Command)B.适配器(Adapter)C.装饰(Decorator)D.享元(Flyweight)我的答案:B:适配器(Adapter);正确答案:B:适配......
  • 软件体系结构与设计模式之桥接模式
    一.单选题1.桥接设计模式将抽象部分与它的实现部分相分离,使它们都可以独立地变化。下图为该设计模式的类图,其中,()用于定义实现部分的接口。A.AbstractionB.ConcreteImplementorAC.ConcreteImplementorBD.Implementor我的答案:D:Implementor;正确答案:D:Implementor......
  • 软件体系结构与设计模式之组合模式
    一.单选题(共4题)(单选题)一个树形文件系统体现了()模式。A.Decorator(装饰)B.Composite(组合)C.Bridge(桥接)D.Proxy(代理)我的答案:B:Composite(组合);(单选题)以下关于组合模式的叙述错误的是()。A.组合模式对叶子对象和组合对象的使用具有一致性B.组合模式可......
  • 软件体系结构与设计模式之装饰模式和外观模式
    一.单选题(共4题)(单选题)某公司欲开发一个图形控件库,要求可以在该图形控件库中方便地增加新的控件,而且可以动态地改变控件的外观或给控件增加新的行为,如可以为控件增加复杂的立体边框、增加控件的鼠标拖拽行为等。针对上述需求,使用()模式来进行设计最合适。A.适配器(Adap......