开源的数据库,PostgreSQL 基础入门实战
PostgreSQL 简介与安装
实验介绍
大家好,本课程是关于 PostgreSQL 数据库的使用说明,细致讲解 PostgreSQL 的特性与使用方法,尽量做到描述朴实、深入浅出、示例充足、覆盖重点。
由于同类型的数据库 MySQL 的使用量远大于 PostgreSQL ,以至于大家都知道 MySQL 并且掌握它的基本用法。在我们的课程中,会出现一些二者的比较说明。
按照惯例,第一节实验是 PostgreSQL 的简介与安装。
知识点
- PostgreSQL 简介
- 在 Ubuntu 系统中安装 PostgreSQL 数据库
PostgreSQL 简介
PostgreSQL 是一个功能强大的开源关系型数据库管理系统,用于安全地存储数据。PostgreSQL 在某些地方被简称为 PG 。
所谓“功能强大”,就是优点很多:
- 支持超多种类的数据类型,数量在开源数据库里是第 1 名
- 可以在 Windows 、FreeBSD 、Linux 、macOS 等主流操作系统中运行
- 支持 SQL 子查询、触发器、视图、事务多级隔离、多进程并发控制
- 支持包括 C、C++、Java、Perl、Python、Ruby 在内的多种语言的编程接口
所谓“开源”,就是指 PostgreSQL 所有版本的源代码均为公开状态,供任何个人和组织免费使用和修改。PostgreSQL 由全球志愿者团队开发,不受任何公司或其他私人实体控制。
所谓“关系型”,就是提供各种约束。
所谓“安全地存储”,这涉及到两层意思:一是数据持久化,这是大多数据库的基本功能;二是热备,PostgreSQL 采用物理复制,在保证主备数据一致上具有较高的可靠性。
关于 MySQL 与 PostgreSQL 有两句标语:
- MySQL:世界上最受欢迎的数据库
- PostgreSQL:世界上最先进的数据库
热度排名
当我们评判一些编程语言孰优孰劣时,当我们争辩一些框架性能高低时,一个很好的论据就是热度排名。
编程语言的数量几百上千,如果一门编程语言五年进不了 TIOBE 的前二十,谁还好意思吹嘘呢?当然啦,所有的这些评判和争辩的实际意义几乎没有,我们只是说着玩儿。
尽管如此,我们还是可以用热度排名佐证一门语言或一个框架的优秀与否。热度通常与用户量呈正相关性。
对于数据库的热度排名,就像 TIOBE 一样,也有一个叫做 DB Engines 的网站。
截止 2020 年 6 月底,排名前十的数据库热度表格如下:
如上表所示,前五基本是稳定的,热度在 400+ ,后面的几个热度差距很小。PostgreSQL 排名第四,且与前三名的差距极大,冲击前三的可能性微乎其微。所以它无法拥有 MySQL 的 Popular 标签。
排名第 5 的 MongoDB 是热度最高的非关系型数据库。如果告诉你 PostgreSQL 在 9.2 版本中加入了 JSON 数据类型以支持 NoSQL 数据存储功能,且在性能上甚至优于 MongoDB ,是不是觉得 PostgreSQL 也有点儿能打了呢?
此外还可以在网站中查看数据库的趋势图,可以看到近些年具有明显增长趋势的也就是 PostgreSQL 和 MongoDB 了:
其它介绍
PostgreSQL 在用户量上占比较少,且国内尤甚,这使得很多同学都只是听说过 PostgreSQL 却并未接触。
PostgreSQL 起源于出镜率极高的美国加州大学伯克利分校。由于贡献者来自五湖四海,现已成为一个国际开发项目,在海外拥有大量用户,国内的企业级用户也开始逐渐增多。PostgreSQL 的功能之强大、特性之丰富和结构之复杂都算得上开源数据库之最了。
MySQL 号称是使用最广泛的开源数据库,而 PG 则被称为功能最强大的开源数据库。
PostgreSQL 是一个自由的关系型数据库服务器,在灵活的 BSD 风格许可证下发行。PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99。PostgreSQL 提供了目前世界上最丰富的数据类型的支持,其中有些数据类型连商业数据库都不具备, 例如 IP 类型和几何类型等。PostgreSQL 是全功能的自由软件数据库,也是史上第一款支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的数据库管理系统。PostgreSQL 拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。
篇幅有限,完整课程请移步至《PostgreSQL 基础入门实战》,你将学到:
快来 get√ 新课吧!