Upload
march-liu
View
1.615
Download
1
Embed Size (px)
DESCRIPTION
初版
Citation preview
. . . . . .
我不认为这是在吹牛!
PostgreSQL: The world’s most advanced open source databasehttp://www.postgresql.org
. . . . . .
1975 - 1977
INGRES 项目1
1urlhttp://db.cs.berkeley.edu//papers/ERL-M85-95.pdf
. . . . . .
1983
分布式数据库
. . . . . .
1983
有序关系
. . . . . .
1983
抽象数据类型
. . . . . .
1984
QUEL as a data type
. . . . . .
1986 年
伯克利系的数据库研究项目:POSTGRES 2
2urlhttp://www.pgsqldb.org/pgsqldoc-cvs/history.html
. . . . . .
感谢领导
Michael Stonebraker
. . . . . .
感谢国家
防务高级研究项目局(DARPA)
. . . . . .
继续感谢国家
陆军研究办公室(ARO)
. . . . . .
不过都是美国的
国家科学基金(NSF)
. . . . . .
感谢民企,不过也是美国的
ESL , Inc
. . . . . .
1987 年
第一个“演示性”系统
. . . . . .
1988 年
ACM-SIGMOD 大会
. . . . . .
1989 年
发布版本 1
. . . . . .
1990 年
发布版本 2
. . . . . .
1991 年
发布版本 3
. . . . . .
1990 年
发布版本 2
. . . . . .
POSTGRES 在许多研究或实际的应用中得到了应用
. . . . . .
财务数据分析系统
. . . . . .
喷气引擎性能监控软件包
. . . . . .
小行星跟踪数据库
. . . . . .
医疗信息数据库
. . . . . .
地理信息系统
. . . . . .
大学教学
. . . . . .
Illustra Information Technologies Illustra Information Technologies(后来并入 Informix)拿到代码并使之商业化
. . . . . .
1992 年
成为 Sequoia 2000 科学计算项目的首要数据管理器。
. . . . . .
1994 年
Postgres 项目终止于 4.2 版
. . . . . .
情何以堪……
据说是因为用户太多了,作者觉得耽误了学术研究……
. . . . . .
感谢香港!
Andrew Yu 和 Jolly Chen 向 POSTGRES 中增加了 SQL 语言的解释器,开源成为 Postgres 95
. . . . . .
记得先感谢国家!
PostgreSQL 的历程开始了!
. . . . . .
完备的关系模型
. . . . . .
面向对象支持
. . . . . .
丰富的数据类型,针对多种行业的业务需要
. . . . . .
各种 contrib 的强力支持
. . . . . .
强大的 OLAP 支持
. . . . . .
强大的服务器端开发能力
. . . . . .
性能稳定,抗压能力好
. . . . . .
支持完整的关系数据模型
. . . . . .
基本的表 / 字段结构
. . . . . .
基本的主外键约束
. . . . . .
check 约束
. . . . . .
存储过程
. . . . . .
触发器
. . . . . .
可靠的索引支持
. . . . . .
各种内置的通用和专用类型
. . . . . .
数值——浮点和整形
. . . . . .
鄙视没有精确实数的“企业级”平台
数值——精确实数 Numeric
. . . . . .
出于兼容目的 varchar
. . . . . .
二进制对象
. . . . . .
无限文本 Text
. . . . . .
丰富的几何类型,点、线,各种几何形状……
. . . . . .
位串 bits
. . . . . .
时间日期 / 时段类型
. . . . . .
IP
. . . . . .
UUID
. . . . . .
全文索引
. . . . . .
数组
. . . . . .
组合类型
. . . . . .
……
. . . . . .
PostgreSQL 可以强大到成为一个开发平台。
. . . . . .
简单查询
. . . . . .
标准的 JOIN 关联查询
. . . . . .
子查询
. . . . . .
统一友好的基本格式是后续内容的基础
. . . . . .
这个其实没啥可惊喜的……
基本的 group by 支持
. . . . . .
在 8.4 版经历了一次性能优化
确认:PG 的 Group By 是根据存储分区进行并行计算的。
. . . . . .
说实话有些我还没弄懂 ==
丰富的统计函数支持
. . . . . .
Window 功能
. . . . . .
强劲的并发能力是复杂数据挖掘的保障
. . . . . .
强大的文本处理能力
. . . . . .
无限 TEXT
. . . . . .
正则表达式
. . . . . .
全文检索
. . . . . .
中文分词
. . . . . .
友好的函数调用方式,有效提升开发能力
. . . . . .
标量函数调用的缩写方式
select foo();
. . . . . .
常见的函数调用方式
select foo(...) from ...;
. . . . . .
函数可以返回一个结果集,作为数据集操作select ... from foo();
. . . . . .
支持命名参数和变参!
. . . . . .
当然,基本的 out 参数什么的,也都没有问题
. . . . . .
函数定义(含代码块封装格式)
CREATE FUNCTION h e l l o ( ) RETURNS TEXT AS $$SELECT ’ H e l l o wor ld ’ AS r e s u l t ;
$$ LANGUAGE SQL ;
. . . . . .
安装 PLSQL
. . . . . .
9.0 中已经是默认安装
. . . . . .
在函数中使用 PLSQL
. . . . . .
基本格式
. . . . . .
变量处理
. . . . . .
隐式游标循环
. . . . . .
逻辑判断
. . . . . .
显式游标
. . . . . .
可写游标
. . . . . .
嵌套游标
. . . . . .
return
. . . . . .
return query
. . . . . .
return next
. . . . . .
异常与错误处理
. . . . . .
事务
. . . . . .
安装新语言
. . . . . .
PL/Python
. . . . . .
PL/Perl
. . . . . .
PL/Sh
. . . . . .
PL/Java
. . . . . .
自由扩展的接口
. . . . . .
数据分区
. . . . . .
分区场景中的索引
. . . . . .
分区场景中的查询
. . . . . .
冷备
. . . . . .
热备与温备
. . . . . .
slony-i
. . . . . .
standby
. . . . . .
standby 策略
. . . . . .
standby 策略
. . . . . .
索引的影响
. . . . . .
性能剖分
. . . . . .
数据库分切对性能的影响
. . . . . .
缓存
. . . . . .
锁与连接状态
. . . . . .
postgresql.conf
. . . . . .
pg hba.conf
. . . . . .
其它认证方式
. . . . . .
设计大局观
. . . . . .
可靠性
. . . . . .
开发
. . . . . .
Map Reduce 与 OLAP
. . . . . .
无限位串
. . . . . .
搜索引擎