深入浅出PostgreSQL - (EPUB全文下载)
文件大小:1.02 mb。
文件格式:epub 格式。
书籍内容:
深入浅出PostgreSQL
第1篇 准备
第1章 初识PostgreSQL
第2章 安装和启动PostgreSQL
第2篇 入门
第3章创建数据库和表
第4章 数据类型及其运算符
第5章 函数
第6章 查询和修改数据
第3篇 进阶
第7章 索引
第8章 视图
第9章 触发器
第10章 表继承和表分区
第11章 管理用户权限和模式
第12章 配置和管理数据库服务器
第13章 备份和恢复数据
第4篇 高阶
第14章 事务
第15章 优化SQL语句
第16章 优化数据库服务端性能
第17章 PL/pgSQL服务端编程
第18章 高可用方案
反侵权盗版声明
后折页
第1篇 准备
第1章 初识PostgreSQL
PostgreSQL 是一个对象关系型数据库管理系统,其代码完全开源。用户可以对其进行二次开发,并根据需要以开源或闭源的形式发布。
PostgreSQL 的功能非常强大,深受数据库开发者和使用者喜爱。PostgreSQL 于 2017 年、2018年连续两年被DB-Engines评选为“年度数据库”。
1.1 PostgreSQL的起源
PostgreSQL的前身可以追溯到1970年的Ingres项目。Ingres是加州大学伯克利分校(简称“伯克利”)的一个关系型数据库研究项目,它开始于1970年,结束于1985年,由著名科学家Michael Stonebraker和Eugene Wong研究。
提示:
Ingres充满了传奇色彩,很多商业数据库产品(Sybase、Informix、Microsoft SQL Server、NonStop SQL等)都源自该项目产生的Ingres关系型数据库代码。
在20世纪80年代早期,Ingres与Oracle展开了“肉搏战”,两者都被认为是当时最领先的、与硬件无关的关系型数据库。由于Ingres不支持SQL语言,自1985年以后逐渐丧失了市场份额。
PostgreSQL是从Ingres项目演化而来的。1982年,Ingres项目团队负责人Michael Stonebraker离开了伯克利大学去创业,将Ingres商业化。1985年,Michael Stonebraker重返伯克利大学,启动了一个被称为“post-Ingres”的项目(后 Ingres 项目),致力于解决当时的数据库系统问题。PostgreSQL的早期名称为Postgres,它来源于post-Ingres项目的名称。Postgres技术使得Michael Stonebraker于2014年获得了图灵奖。
Postgres的目标是添加最少的特性用于支持类型定义和描述关系,可以使用规则从相关的数据表中检索信息。
从1986年开始,Postgres团队发表了若干篇论文,用于阐述该系统的基础原理。
1987年,Postgres团队开发了原型系统版本,并在1988年 ACM SIGMOD会议上进行了展示。
1989年6月,Postgres团队向少数用户发布了1.0版本,之后又发布了2.0版本和3.0版本。
1994年,Postgres团队发布了4.0版本。
1994 年,Andrew Yu 和 Jolly Chen 将 SQL 语言解释器添加到 Postgres 中,并更名为“Postgres 95”。
1995年5月5日,Andrew Yu和Jolly Chen发布了Postgres的第1个测试版。
1996年,“Postgres 95”被更名为“PostgreSQL”,随后,Bruce Momjian和 Vadim B.Mikheev在Postgres 95版本基础上进行修改,并在1997年1月29日发布了首个基于开源社区的PostgreSQL 6.0 版本。从此以后,来自世界各地的开发者和志愿者组成 PostgreSQL 全球开发组(The PostgreSQL Global Development Group),共同维护PostgreSQL软件代码。
目前,PostgreSQL已经更新到了12.1版本。
1.2 PostgreSQL简介
PostgreSQL是一个功能强大且开源的对象关系型数据库管理系统,它使用SQL语言扩展了许多语法特性,以支持更复杂的数据负载。
PostgreSQL 可以在大多数操作系统上运行。自 2001 年起,PostgreSQL 就已经兼容事务的ACID属性,并拥有一系列强大的插件,如空间数据库扩展插件PostGIS,外部数据表访问插件postgres_fdw、oracle_fdw等。
1.2.1 基本概念
PostgreSQL 中的很多概念来源于关系代数。为了使读者更好地理解本书后续内容,有必要了解以下基本概念。
1.关系(Relation)
“关系”是一个表示表(Table)的数学术语。在PostgreSQL中,“关系”表示表或索引。其他数据库一般称表为Table,称索引为Index,而PostgreSQL有时会将它们统称为关系。表用来存储数据,一个表通常由若干行组成。
2.元组(Tuple)和域(Field)
元组(Tuple)表示表中的行(Row),有的数据库将元组称为记录(Record)。一个元组一般由多个域(Field)组成,域有时也被称为字段(Field)或列(Column)。
每个字段都有一个特定的数据类型和可选属性。字段在元组中的位置次序是固定不变的,而行在表中的位置次序则是不固定的(事实上每次数据更新之后行的物理位置都会发生变化)。
3.数据库(Database)和数据库簇(Database Cluster)
多个表组合在一起构成了一个数据库,这是一个逻辑意义上的数据库。一般来说,这些表在业务层面上存在着某种逻辑关系。
在一个单一的PostgreSQL服务器实例中,所有的数据库集合在一起构成了一个数据库簇。
提示:
读者一定要正确理解“数据库簇”的概念,不要将它误解为一个分布式数据库实例的集合。
为了便于管理,我们可以将同一个数据库中 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 深入浅出PostgreSQL - (EPUB全文下载)