PostgreSQL简介

目录

PostgreSQL简介

什么是数据库?

ORDBMS术语

SQL语言分类

PostgreSQL功能简介

数据类型

数据完整性

并发性,性能

可靠性、容灾

安全性

可拓展性

国际化、文本搜索


posgresql15特性 pos sql_posgresql15特性

 

PostgreSQL是一个免费的对象-关系型数据库服务器(ORDBMS),遵循灵活的开源协议BSD。

PostgreSQL开发者将其念作post-gres-Q-L。

PostgreSQL目前是世界上最先进的开源关系型数据库,支持丰富的数据类型(如JSON、JSONB、数组类型及二进制大对象)和自定义类型。提供了丰富的接口。很容易拓展它的功能,如可以在GIST框架下实现自己的索引类型等。

PostgreSQL是完全的事务安全性数据库,完整地支持外键、视图、触发器和存储过程(函数),并支持多种语言开发存储过程,如PL/PGSQL、Perl、Python等。

PostgreSQL对很多高级开发语言有原生的编程接口,如C/C++、Java、.Net、Perl、Python、Ruby、Tcl 和ODBC以及其他语言等。

在中国,瀚高数据库是唯一的PostgreSQL商业发行版公司。

 

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 是关系数据库管理系统,是建立实体之间的联系,最后得到的是关系表。

ORDBMS(对象关系数据库系统)是面向对象技术与传统的关系数据库相结合的产物,查询处理是 ORDBMS 的重要组成部分,它的性能优劣将直接影响到DBMS 的性能。ORDBMS在原来关系数据库的基础上,增加了一些新的特性。

OODBMS 面向对象数据库管理系统,将所有实体都看着对象,并将这些对象类进行封装,对象之间的通信通过消息 OODBMS 对象关系数据库在实质上还是关系数据库 。

 

ORDBMS术语

数据:描述事物的符号记录。数据是数据库中存储的基本对象,除基本的数字之外,像图书的名称、价格、作者都可以称之为数据。

:一条记录是一组相关的数据。例如一个用户的姓名、年龄等信息数据。

:一列数据元素包含相同类型的数据,如用户姓名的数据。

数据表:表是数据的矩阵。可以看做是简单的电子表格,有行列之分。

数据库:数据库是一些关联表的集合,存放数据的仓库。保证数据按照一定的格式进行存储。

主键:主键是唯一的。一个数据表中只能包含一个主键。主键可以用来规避重复数据且快速定位某一条数据。

外键:外键用来关联两张表。可以保证数据的一致性。

约束:数据应满足的规则,保证数据的有效性。

复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。

参照完整性:参照完整性要求关系中不允许引用不存在的实体,与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据库的一致性。

SQL语言分类

DML(Data Manipulation Language):数据操作语言,用于修改数据(INSERT、UPDATE、DELETE、TRUNCATE)。

DDL(Data Definition Language):数据定义语言,用户定义数据的结构,创建、修改或删除数据库对象 (CREATE、DROP)。

DQL(Data Query Language):数据查询语言,用于查询数据(SELECT)

DCL(Data Control Language):数据控制语言,用于定义数据库用户权限(GRANT)、控制事务及对数据库实行监视等(ROLLBACK、COMMINT)。

 

PostgreSQL功能简介

由于PostgreSQL是在太强大,鄙人才疏学浅,只能粗略的介绍一下

 

数据类型

 

基本类型:smallint、int、bigint、double precision、numeric、char、varchar、text、boolean等。

结构类型:time、timestamp、array、range、uuid、bit等

文档类型:json、jsonb、xml等

几何类型:point、line、circle等

网络类型:inet、cidr、macaddr等

自定义类型:composite、custom types等

数据完整性

唯一性、不为空

主键

外键

排出约束

 

并发性,性能

索引

高级索引

复杂的查询计划器/优化器

交互

多版本并发控制(MVCC)

读取查询的并行化和构建B树索引

表分区

SQL标准中定义的所有事物隔离级别。

即时表达式汇编(JIT)

 

可靠性、容灾

预写日志(WAL)

复制:异步、同步、逻辑

时间点恢复(pitr),主动备用

表空间

 

安全性

身份认证

强大的访问控制系统

列和行级安全性

 

可拓展性

 

存储的功能和程序

程序语言(PL/PGSQL、Perl、Python等)

外部数据包装器:使用标准SQL接口连接到其他数据库或流

提供附加功能的拓展,如PostGIS

国际化、文本搜索

支持国际化字符集,例如通过ICU校对

全文检索