新闻公告

立即注册 咨询客服

当前位置:首页 > 新闻公告 > PostgreSQL是什么,有什么特点,是如何工作的?

PostgreSQL是什么,有什么特点,是如何工作的?

发布时间:2020/6/15 8:03:04    来源: A5互联

PostgreSQL是世界上最先进的企业级开源数据库管理系统,由PostgreSQL全球开发组开发。它是一个功能强大、高度可扩展的对象关系型SQL(结构化查询语言)数据库系统,以其可靠性、功能健壮性和高性能而广受欢迎。众所周知,PostgreSQL具有高度的可扩展性,它可以存储和管理的数据量以及可以容纳的并发用户数量。

PostgreSQL是在PostgreSQL许可证下提供和发布的,这是一个自由的开放源代码许可证。这意味着你可以免费下载软件、使用、修改和发布,用于任何目的。它也是跨平台的,它可以运行在Linux、Windows和macOS以及其他许多操作系统上。

下载PostgreSQL

下载PostgreSQL 12:https://www.postgresql.org/download/

它使用并扩展了SQL语言的许多强大和现代的功能。虽然它符合SQL标准,支持SQL标准所要求的许多功能(在写这篇文章的时候,PostgreSQL的最新版本是12,确认了至少160个SQL的179个强制功能),但在语法或功能上有一些轻微的变化。

PostgreSQL是如何工作的?

PostgreSQL使用客户端-服务器模式,客户端和服务器可以驻留在网络环境中的不同主机上。服务器程序管理数据库文件,接受客户端应用程序对数据库的连接。它可以通过为每个连接 "分叉 "一个新的进程来处理来自客户端的多个并发连接。它执行来自客户端的数据库请求,并将结果发回给客户端。远程客户端可以通过网络或互联网连接到服务器。

有效的客户端程序包括PostgreSQL附带的面向文本的工具、图形工具或使用其他编程语言开发的应用程序。

PostgreSQL服务器和客户端请求

PostgreSQL的主要特点

PostgreSQL支持多种数据类型,包括基元(如字符串、整数、数值和布尔值)、结构化(如日期/时间、数组、范围和UUID)、文档(JSON、JSONB、XML、键值(Hstore))、几何(点、线、圆和多边形)和自定义(复合和自定义类型)。它支持使用UNIQUE、NOT NULL、主键和外键、排除约束、显式锁和咨询锁等特性来实现数据完整性。

它使用许多特性来构建并发性和性能,这些特性包括索引和高级索引、事务和嵌套事务、多版本并发控制(MVCC)、读取查询的并行化,以及构建B树索引、表分区、表达式的即时(JIT)编译等。

为了确保可靠性、数据冗余、高可用性和灾难恢复,PostgreSQL提供了写前日志(WAL)、主从复制、活动备用和及时点恢复(PITR)等功能。这些都允许多节点数据库集群部署,可以存储和管理大量(TB)数据,以及管理PB的专业系统。

重要的是,PostgreSQL在很多方面也是非常可扩展的。要扩展它,你可以使用存储函数和过程、程序语言,包括PL/PGSQL、Perl、Python、SQL/JSON路径表达式、外部数据包装器等。您还可以使用社区开发的许多扩展来扩展其核心功能。

安全性也是Postgres的核心。为了保护你的数据库,它提供了各种形式的认证(包括GSSAPI、SSPI、LDAP、SCRAM-SHA-256、Certificate等),强大的访问控制系统、列级和行级安全,以及使用证书和附加方法的多因素认证。然而,良好的数据库服务器安全应该始终从网络和服务器层开始。

PostgreSQL客户端和工具

PostgreSQL提供并支持许多用于数据库管理的客户端应用程序,如psql交互式命令行实用程序和pgadmin,一个基于PHP的数据库管理Web界面(这是最受欢迎的方式)。

要使用PostgreSQL数据库为你的应用程序存储数据,你可以使用任何支持的库或驱动程序来连接你的应用程序,这些库或驱动程序可用于大多数流行的编程语言,libpq是一个流行的C应用程序程序员对PostgreSQL的接口,它是其他几个PostgreSQL应用程序接口的底层引擎。

谁在使用PostgreSQL?

RedHat、Debian、Apple、Cisco等许多其他公司和组织都在采用PostgreSQL。