作者:禅与计算机程序设计艺术
1.简介
PostgreSQL(以下简称PG)是一个开源的关系数据库管理系统,由加州大学伯克利分校计算机科学系的Leslie Lamport大神开发。它实现了SQL(结构化查询语言)标准协议,可以免费用于任何非商业用途。近年来,PG在云计算、高性能计算、大数据分析等领域中扮演着越来越重要的角色。因此,掌握PG的知识对于IT从业人员来说尤其重要。本书将帮助读者了解PG及其相关概念,以及如何有效地利用PG进行数据处理、存储和分析。
2.PG概述
PostgreSQL是一个开源的关系型数据库管理系统,它最初由加州大学伯成利分校的计算机科学系里的 和 创建,并且于1996年成为PostgreSQL项目的一部分。最初,它的目的是创建一种基于PostgreSQL源代码的开源数据库系统。但是后来由于开源界的激烈竞争而不得不放弃这一目标。目前,PostgreSQL已经成为一个独立项目,拥有一个庞大的用户群体和活跃的社区支持。目前,PostgreSQL共有超过28,000个提交者和3,000多个贡献者。
2.1 PG架构
PostgreSQL由多个组件构成,包括服务器进程、连接管理器、查询处理器、查询优化器、后台任务进程、复制组件、视图、触发器、规则、函数、聚集索引、GIN索引、BRIN索引等。下图显示了PostgreSQL的各个组件之间的交互关系。
客户端应用程序可以直接与服务器进程通信或通过连接管理器发送请求到服务器。查询解析器接收到请求并转换为内部表示形式的查询计划。查询优化器根据统计信息对查询计划进行优化,并生成实际执行的查询计划。执行器负责执行查询计划,并返回结果给客户端。<