PostgreSQL 特性


PostgreSQL 特性

它是最流行的数据库之一,支持 JSON(非关系)查询和 SQL(关系)查询。PostgreSQL 是一个对象关系数据库管理系统 (ORDBMS)。它包含各种高级数据类型和强大的功能集,可提高软件的可扩展性、可靠性和数据完整性。

在本节中,我们将讨论PostgreSQL最高级的功能、数据库管理工具**以及优缺点,**这将有助于我们增强对 PostgreSQL 的了解。

PostgreSQL包含多种功能,旨在帮助开发人员开发应用程序、管理我们在数据集中的数据,管理人员可以保持数据完整性,并创建风险容忍环境。每当新版本上市时,PostgreSQL Global 开发团队都会对之前的功能进行增强,并根据用户的需求增加一些新功能。

PostgreSQL 的基本特性如下:

  • 免费下载:它是开源的,我们可以从PostgreSQL官网轻松下载。
  • 兼容多种操作系统: PostgreSQL 运行于所有主流操作系统,如Microsoft Windows、Linux、MacOS X、UNIX(AIX、BSD、HP-UX、SGI IRIX、Solaris 和 Tru64)等。
  • 兼容多种编程语言:支持C/C++、JAVA、Python、Perl、Ruby、Tcl、ODBC(Open Database Connectivity)等多种编程接口。

注意:Tcl 是一种通用的、高级的、动态的、解释性的编程语言。

  • 兼容数据完整性:

    它支持数据完整性,包括以下内容:

    • Primary Keys
    • UNIQUE, NOT NULL
    • Foreign Keys
    • Explicit Locks, Advisory Locks
    • Exclusion Constraints
  • 支持多种 SQL 特性:

    PostgreSQL 支持多种 SQL 特性,包括:

    • MVCC (Multi-Version Concurrency Control).
    • It supports multiple Indexing such as Multicolumn, Partial, B-tree, and expressions.
    • SQL sub-selects.
    • Complex SQL queries.
    • Streaming Replication
    • It supports transactions, Nested Transactions through Savepoints.
    • Just-in-time compilation of expressions
    • Table partitioning
  • 兼容多种数据类型:

    PostgreSQL 支持多种数据类型,例如:

    • Structured: Array, Date and Time, UUID (Universally Unique Identifier), Array, Range.
    • Primitives: String, Integer, Boolean, Numeric.
    • Customizations: Custom Types, Composite.
    • Geometry: Polygon, Circle, Line, Point,
    • Document: XML, JSON/JSONB, Key-value.
  • 高度可扩展:

    PostgreSQL 的高度可扩展分为以下几个阶段:

    • 它支持 Perl、PL/PGSQL 和 Python 等过程语言。
    • JSON/SQL 路径表达式
    • 存储过程和函数。
    • 对于表,它支持可定制的存储接口。
    • 它与外部数据包装器兼容,后者通过标准 SQL 接口连接到更多数据库。
  • 安全:

    它是安全的,因为它遵循几个安全方面,具体如下:

    • PostgreSQL 提供了强大的访问控制系统。
    • 它包括多种身份验证,例如轻量级目录访问协议(LDAP)、通用安全服务应用程序接口(GSSAPI)、SCRAM-SHA-256、安全支持提供程序接口(SSPI)、证书等。
    • PostgreSQL 支持列级和行级安全性。
  • 高度可靠:

    它高度可靠,还提供灾难恢复,例如:

    • 活动备用,PITR(时间点恢复)
    • 它支持 WAL(预写日志)
    • 表空间
    • 它支持不同类型的复制,同步、异步和逻辑。
  • PostgreSQL 支持国际化,这意味着国际字符集包括 ICU 排序规则、不区分重音和区分大小写的排序规则以及全文搜索

  • 在 PostgreSQL 中,可以将表设置为从“父”表继承其特征。

  • 它与 ANSI-SQL2008 兼容。

  • PostgreSQL 将帮助我们改进服务器端编程的功能。

  • 我们可以安装几个扩展来为 PostgreSQL 添加额外的功能。

PostgreSQL 数据库管理

PostgreSQL 数据库管理涵盖了基本的 PostgreSQL 数据库服务器管理操作。我们在市场上有几个开源工具和付费工具。下面我们来了解一下PostgreSQL最常用的一些数据库管理工具:

查询语句

它是一个基于终端的前端命令行工具;在这里我们可以直接输入 SQL 查询或从文件中运行它们,我们也可以看到查询结果。它为我们提供了许多 Meta 命令和几个 shell,例如自动执行广泛的任务和方便编写脚本。

phpPgAdmin

它是一个基于 Web 的 PostgreSQL 管理工具,建立在 phpMyAdmin 界面上,最初是为 MySQL 管理而编写的。phpPgAdmin 是用PHP编程语言编写的。它可以轻松配置并提供简单的数据操作。它保持了slony 主从复制机,还提供27 种语言。在这里,我们可以导入 SQL 脚本并复制数据。

pgAdmin

它是 PostgreSQL 最著名的开源管理和开发平台之一。PgAdmin 是世界上最先进的数据库。可在UNIX、Linux、Mac OS X、Windows等各种操作系统上使用,实现PostgreSQL 9.2及以上版本。

PgFouine

它是著名的 PostgreSQL 查询日志分析器,用于从 PostgreSQL 的日志文件生成报告。这是访问的RHEL(红帽企业Linux)和CentOS Linux系统通过EPEL库(额外的企业版Linux软件包)。它是一个PHP脚本,它提供了一个适度的库列表。pgFouine 包含较旧的 UNIX 系统和 Windows。

pgDevOps

它是一套 Web 工具,用于安装和管理多个 PostgreSQL 扩展和版本;它创建SQL查询和社区组件,监控正在运行的数据库,并识别性能问题。它是一个 WSGI Python27 Flask 应用程序,可以在不同的跨平台上执行,如Windows、Linux 和 OSX。它是一个开源应用程序,可供多台服务器上的各种用户使用。

注意:大多数组织都推荐用于 PostgreSQL 的专有工具。通常,它是一个开源工具,用于共享管理功能。另一方面,它提供了数据建模、报告导入和导出方面的增强功能。

一些常用的专有工具如下:

  • Lightning Admin for PostgreSQL
  • Borland Kylix
  • DBOne
  • DBTools Manager PgManager
  • Rekall
  • Data Architect,
  • SyBase Power Designer
  • Microsoft Access
  • eRWin
  • DeZign for Databases
  • PGExplorer
  • Case Studio 2
  • pgEdit
  • RazorSQL
  • MicroOLAP Database Designer
  • Aqua Data Studio
  • EMS Database Management Tools for PostgreSQL
  • Navicat
  • SQL Maestro Group products for PostgreSQL
  • Datanamic DataDiff for PostgreSQL
  • Datanamic SchemaDiff for PostgreSQL
  • DB MultiRun PostgreSQL Edition
  • SQLPro
  • SQL Image Viewer
  • SQL Data Sets etc.

PostgreSQL 的优缺点

PostgreSQL的优点如下:

  • PostgreSQL 易于使用;这就是为什么我们不需要太多培训的原因。
  • 它需要对企业以及嵌入式使用进行低维护管理。
  • PostgreSQL 管理关系数据库中的数据,因为它非常强大和健壮。
  • 我们可以快速获得 PostgreSQL 的源代码,因为它在开源许可证中免费提供,我们可以立即实施,根据我们的要求进行更改。
  • 它可以作为 LAMP 堆栈选项执行动态 Web 应用程序和网站。
  • PostgreSQL 是一个高风险承受能力的数据库。

PostgreSQL的缺点如下:

  • 与 MySQL 相比,PostgreSQL 不支持各种开源应用程序。
  • 在这方面,创建复制有点复杂。
  • 它不是由一家公司维护的。
  • PostgreSQL 的速度性能不如其他工具。
  • 与 MySQL 相比,它有点慢。
  • 有时,安装过程对学习者来说并不容易。