PostgreSQL - 概述



PostgreSQL 是一个功能强大的开源对象关系数据库系统。它拥有超过 15 年的活跃开发阶段和久经考验的架构,赢得了其在可靠性、数据完整性和正确性方面的良好声誉。

本教程将帮助您快速入门 PostgreSQL,并使您能够轻松进行 PostgreSQL 编程。

什么是 PostgreSQL?

PostgreSQL(发音为 **post-gress-Q-L**)是由全球志愿者团队开发的开源关系数据库管理系统 (DBMS)。PostgreSQL 不受任何公司或其他私人实体控制,其源代码可免费获得。

PostgreSQL 简史

PostgreSQL 最初称为 Postgres,由加州大学伯克利分校 (UCB) 的计算机科学教授 Michael Stonebraker 创建。Stonebraker 于 1986 年启动了 Postgres 项目,作为其前身 Ingres(现由 Computer Associates 拥有)的后续项目。

  • **1977-1985** − 开发了一个名为 INGRES 的项目。

    • 关系数据库的概念验证

    • 1980 年成立 Ingres 公司

    • 1994 年被 Computer Associates 收购

  • **1986-1994** − POSTGRES

    • 在 INGRES 的基础上发展其概念,重点关注面向对象和查询语言 - Quel

    • INGRES 的代码库未用作 POSTGRES 的基础

    • 商业化为 Illustra(被 Informix 收购,后被 IBM 收购)

  • **1994-1995** − Postgres95

    • 1994 年增加了对 SQL 的支持

    • 1995 年发布为 Postgres95

    • 1996 年重新发布为 PostgreSQL 6.0

    • 成立 PostgreSQL 全球开发团队

PostgreSQL 的主要特性

PostgreSQL 运行在所有主要的操作系统上,包括 Linux、UNIX(AIX、BSD、HP-UX、SGI IRIX、Mac OS X、Solaris、Tru64)和 Windows。它支持文本、图像、声音和视频,并包括 C/C++、Java、Perl、Python、Ruby、Tcl 和开放数据库连接 (ODBC) 的编程接口。

PostgreSQL 支持大部分 SQL 标准,并提供许多现代特性,包括:

  • 复杂的 SQL 查询
  • SQL 子查询
  • 外键
  • 触发器
  • 视图
  • 事务
  • 多版本并发控制 (MVCC)
  • 流复制(从 9.0 版本开始)
  • 热备用(从 9.0 版本开始)

您可以查看 PostgreSQL 的官方文档以了解上述特性。PostgreSQL 可以通过多种方式由用户扩展。例如,通过添加新的:

  • 数据类型
  • 函数
  • 运算符
  • 聚合函数
  • 索引方法

过程语言支持

PostgreSQL 支持四种标准过程语言,允许用户使用任何一种语言编写自己的代码,并可由 PostgreSQL 数据库服务器执行。这些过程语言包括 - PL/pgSQL、PL/Tcl、PL/Perl 和 PL/Python。此外,还支持其他非标准过程语言,如 PL/PHP、PL/V8、PL/Ruby、PL/Java 等。

广告