网站搜索

什么是 PostgreSQL? PostgreSQL 是如何工作的?


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

PostgreSQL 可在 PostgreSQL 许可证(一种自由开源许可证)下使用和分发。这意味着您可以出于任何目的免费下载、使用、修改和分发该软件。它也是跨平台的,可以在 Linux、Windows 和 macOS 以及许多其他操作系统上运行。

下载 PostgreSQL

  • 下载 PostgreSQL 12

它使用并扩展了 SQL 语言,具有许多强大且现代的功能。尽管它符合 SQL 标准,支持 SQL 标准所需的许多功能(在撰写本文时,PostgreSQL 的最新版本是 12,确认了 SQL 179 个强制功能中的至少 160 个),但在语法或函数。

PostgreSQL 是如何工作的?

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

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

PostgreSQL 的主要特性

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

  • 它使用许多功能来实现并发性和性能,包括索引和高级索引、事务和嵌套事务、多版本并发控制 (MVCC)、读取查询的并行化以及构建 B 树索引、表分区、Just-In-表达式的时间 (JIT) 编译等。
  • 为了确保可靠性、数据冗余、高可用性和灾难恢复,PostgreSQL 提供了预写日志记录 (WAL)、主从复制、主动备用和时间点恢复 (PITR) 等功能。这些都支持多节点数据库集群部署,可以存储和管理大量(TB)数据,以及管理 PB 级数据的专用系统。
  • 重要的是,PostgreSQL 在很多方面都具有很强的可扩展性。要扩展它,您可以使用存储函数和过程、过程语言(包括 PL/PGSQL、Perl、Python、SQL/JSON 路径表达式、外部数据包装器等)。您还可以使用社区开发的许多扩展来扩展其核心功能。
  • 安全性也是 Postgres 的核心。为了保护您的数据库,它提供了各种形式的身份验证(包括 GSSAPI、SSPI、LDAP、SCRAM-SHA-256、证书等)、强大的访问控制系统、列和行级安全性以及多层次的安全性。使用证书和附加方法进行因素身份验证。然而,良好的数据库服务器安全性应始终从网络和服务器层开始。

PostgreSQL 客户端和工具

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

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

谁在使用 PostgreSQL?

PostgreSQL 正在 RedHat、Debian、Apple、Sun Microsystem、Cisco 以及许多其他公司和组织中使用。

查看这些相关指南,了解如何在 Linux 上使用 PostgreSQL 数据库设置应用程序。

  • 如何在 RHEL 8 中安装 PostgreSQL
  • 如何在 CentOS 8 中安装 PostgreSQL 和 pgAdmin
  • 如何在 Debian 10 中安装 PostgreSQL 数据库
  • 如何安装 PgAdmin 4 Debian 10
  • 如何在 Ubuntu 18.04 上安装和使用 PostgreSQL
  • 如何在 OpenSUSE 上使用 PhpPgAdmin 安装 PostgreSQL