基本了解:数据库
PostgreSQL:是以加州大学伯克利分校计算机系开发的 POSTGRES,如今已经改名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准而且提供了许多其余现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。一样,PostgreSQL 能够用许多方法扩展,好比, 经过增长新的数据类型、函数、操做符、汇集函数、索引。无偿使用、修改、和分发 PostgreSQL,不论是私用、商用、仍是学术研究使用。服务器
特色与优点:架构
PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其余开放源代码数据库系统(好比 MySQL 和 Firebird),和专有系统(好比 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)以外的另外一种选择。
PostgreSQL 不寻常的名字致使一些读者停下来尝试拼读它,特别是那些把SQL拼读为"sequel"的人。PostgreSQL 开发者把它拼读为 "post-gress-Q-L"。它也常常被简略念为 "postgres"。
事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了能够说是目前世界上最丰富的数据类型的支持,其中有些数据类型能够说连商业数据库都不具有, 好比 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是惟一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的惟一的一种自由软件的数据库管理系统。 Inprise 的 InterBase 以及SAP等厂商将其原先专有软件开放为自由软件以后才打破了这个惟一。最后,PostgreSQL拥有一支很是活跃的开发队伍,并且在许多黑客的努力下,PostgreSQL 的质量日益提升。函数
从技术角度来说,PostgreSQL 采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不一样的客户端接口都是源自这个 C 接口,好比ODBC,JDBC,Python,Perl,Tcl,C/C++,ESQL等, 同时也要指出的是,PostgreSQL 对接口的支持也是很是丰富的,几乎支持全部类型的数据库客户端接口。这一点也能够说是 PostgreSQL 一大优势。post
架构:学习
PostgreSQL强壮的一个缘由源于它的架构。和商业数据库同样,PostgreSQL能够用于C/S(客户/服务器)环境。这对于用户和开发人员有不少好处。网站
PostgreSQL安装核心是数据库服务端进程。它容许在一个独立服务器上。须要访问存储在数据库中的数据的应用程序必须经过数据库进程。这些客户端程序没法直接访问数据,即便它们和服务程序在同一台机器上。阿里云
教学课程:PostgreSQL数据库学习入门课程开放源代码
(讲师:周正中(德哥),PostgreSQL中国用户会创始人之一,阿里云高级技术专家)server
更多精品课程:
阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场)