PostgreSQL 概述

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

本教程将为您提供 PostgreSQL 的快速入门,并使您熟悉 PostgreSQL 编程。

什么是PostgreSQL?

PostgreSQL(发音为post-gress-QL)是一个由全球志愿者团队开发的开源关系数据库管理系统 (DBMS)。PostgreSQL 不受任何公司或其他私人实体的控制,并且源代码是免费提供的。

PostgreSQL 简史

PostgreSQL,极初称为 Postgres,是由一位名叫 Michael Stonebraker 的计算机科学教授在 UCB 创建的。Stonebraker 于 1986 年启动了 Postgres,作为其前身 Ingres 的后续项目,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 等。