PostgreSQL特性-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 相比,它有点慢。
- 有时,安装过程对学习者来说并不容易。
相关文章:
- [PostgreSQL教程]PostgreSQL版本-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL语法-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL序列-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL数字-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL字符-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL文本-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL变量-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL整数-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL串行-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL日期-PostgreSQL教程|
相关推荐:
- [PostgreSQL教程]PostgreSQL与SQLite-PostgreSQL教程|
- [PostgreSQL教程]MongoDB与PostgreSQL-PostgreSQL教程|
- [PostgreSQL教程]psqlcommands-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQLDate&TimeFunction-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQLFunctions-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQLMulti-columnIndexes-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL禁用触发器-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL左连接-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQLANDCondition-PostgreSQL教程|
- [PostgreSQL教程]PostgreSQL获取子句-PostgreSQL教程|
- PostgreSQL与SQLite-PostgreSQL教程|
- PostgreSQL与Oracle-PostgreSQL教程|
- PostgreSQL与MariaDB-PostgreSQL教程|
- PostgreSQL与SQLServer-PostgreSQL教程|
- MongoDB与PostgreSQL-PostgreSQL教程|
- PostgreSQLEXCEPT-PostgreSQL教程|
- PostgreSQLINTERSECT-PostgreSQL教程|
- PostgreSQLUnion-PostgreSQL教程|
- psqlcommands-PostgreSQL教程|
- PostgreSQLDate&TimeFunction-PostgreSQL教程|
- PostgreSQL删除触发器-PostgreSQL教程|
- PostgreSQLOrderby子句-PostgreSQL教程|
- PostgreSQL与SQLite-PostgreSQL教程|
- PostgreSQLINTERSECT-PostgreSQL教程|
- PostgreSQLAlias-PostgreSQL教程|
- PostgreSQLNot-NullConstraint-PostgreSQL教程|
- PostgreSQL与Oracle-PostgreSQL教程|
- PostgreSQL与MariaDB-PostgreSQL教程|
- MongoDB与PostgreSQL-PostgreSQL教程|
- PostgreSQLUnion-PostgreSQL教程|