PgSQL是什么

果冻 2020-08-17 17:53:41
问答

PL/pgSQL是一个可载入的编程语言。为PostgreSQL的ORDBMS所支援的程序式编程语言。似于Oracle的PL/ SQL语言。随着PosgreSQL v9.x的发布,开始支持一些ISO SQL/PSM的功能。

PostgreSQL 是以加州大学伯克利分校计算机系开发的 POSTGRES 版本 4.2 为基础的对象关系型数据库管理系统(ORDBMS)。POSTGRES 领先的许多概念只是在非常迟的时候才出现在商业数据库中。

PgSQL

PL/pgSQL 是一个可载入的编程语言。为 PostgreSQL 的 ORDBMS 所支援的程序式编程语言。它非常类似于 Oracle 的 PL/ SQL 语言。随着 PosgreSQL v9.x 的发布,开始支持一些 ISO SQL/PSM 的功能,例如可支持过载 SQL 调用函数与过程。

何为 PostgreSQL?

PostgreSQL 是最初伯克利的代码的一个开放源码的继承人。 它支持大部分 SQL 标准并且提供了许多其他现代特性:

● 复杂查询

● 外键

● 触发器

● 视图

● 事务完整性

● 多版本并发控制

同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的:

● 数据类型

● 函数

● 操作符

● 聚集函数

● 索引方法

● 过程语言

并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL, 不管是私用,商用,还是学术研究使用。

PostgreSQL 的历史简介

现在被称为 PostgreSQL 的对象-关系型数据库管理系统(有一段时间被称为 Postgres95)是从伯克利写的 POSTGRES 软件包发展而来的。经过十几年的发展, PostgreSQL 是世界上可以获得的最先进的开放源码的数据库系统, 它提供了多版本并行控制,支持几乎所有 SQL 构件(包括子查询,事务和用户定义类型和函数), 并且可以获得非常广阔范围的(开发)语言绑定(包括 C,C++,Java,perl,tcl,和 python)。

伯克利的 POSTGRES 项目

Michael Stonebraker 领导的 POSTGRES 项目是由防务高级研究项目局(DARPA), 陆军研究办公室(ARO),国家科学基金(NSF), 以及 ESL, Inc 共同赞助的。 POSTGRES 的实现始于 1986 年, 该系统最初的概念详见 POSTGRES 的设计 。 最早的数据模型定义见 The POSTGRES Data Model。 当时的规则系统设计在 POSTGRES 规则系统的设计 里描述. 存储管理器的理论基础和体系结构在 POSTGRES 存储系统的设计 里有详细描述。

从那以后,POSTGRES 经历了几次主要的版本更新。 第一个"演示性"系统在 1987 年便可使用了, 并且在 1988 年的 ACM-SIGMOD 大会上展出。在 1989 年六月发布了版本 1(在 POSTGRES 的实现 里有描述)给一些外部的用户使用。 为了回应用户对第一个规则系统的批评,( POSTGRES 规则系统的注解 ), 我们重新设计了规则系统( 有关数据库系统的规则,过程,缓存和视图 )并在 1990 年 6 月发布了使用新规则系统的版本 2。 版本 3 在 1991 年出现, 增加了多存储管理器的支持, 并且改进了查询执行器, 重新编写了规则系统。 从那以后,随后的版本直到 Postgres95 发布前(见下文),工作都集中在移植性和可靠性上。

POSTGRES 已经在许多研究或实际的应用中得到了应用。 这些应用包括: 一个财务数据分析系统,一个喷气引擎性能监控软件包,一个小行星跟踪数据库, 一个医疗信息数据库和一些地理信息系统。 POSTGRES 还被许多大学用于教学用途。 最后,Illustra Information Technologies Illustra Information Technologies (后来并入 Informix, 而 Informix 在属于 IBM) 拿到代码并使之商业化。在 1992 年末 POSTGRES 成为 Sequoia 2000 科学计算项目 的首要数据管理器。

到了 1993 年,外部用户的数量几乎翻番。随着用户的增加。 用于源代码维护的时间日益增加占用了太多本应该用于数据库研究的时间, 为了减少支持的负担,伯克利的 POSTGRES 项目在版本 4.2 时正式终止。

软件改进

除了修正了一些错误,下面的是一些主要改进:

查询语言

原来的查询语言 PostQUEL 被 SQL 取代(在 server 端实现)。在 PostgreSQL 之前还不支持子查询)(但这个功能可以在 Postgres95 里面由用户定义的 SQL 函数实现)。重新实现了聚集。同时还增加了对 GROUP BY 查询子句的支持。 C 程序仍可以调用 libpq 接口函数。

新增加了利用 GNU Readline 进行交互 SQL 查询(psql)。 这个程序很大程度上取代了老的 monitor 程序。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • PostgreSQL 数据库

    PostgreSQL,号称世界上最先进的开源关系型数据库

    PostgreSQL是一个开源的关系型数据库管理系统,以其对SQL标准的高度兼容、卓越的并发处理能力、强大的功能集和扩展性而著称。它适合处理复杂查询和高并发需求,被广泛应用于各种规模的企业中。凭借其强大的社区支持和灵活性,PostgreSQL成为数据库开发者和DBA的优选。
  • 宝塔面板 BTPanel

    宝塔面板怎么安装

    宝塔面板是提升运维效率的服务器管理软件,使用 SSH 连接工具,如堡塔SSH终端连接到您的 Linux 服务器后,挂载磁盘,根据系统执行相应命令开始安装(大约2分钟完成面板安装)。
  • thinkphp

    ThinkPHP是什么

    ThinkPHP 是一个快速、兼容而且简单的轻量级国产 PHP 开发框架,遵循 Apache2 开源协议发布,从 Struts 结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和 MVC 模式。
  • PostgreSQL LOGO

    PostgreSQL 是什么

    PostgreSQL是自由的对象关系型数据库服务器,在其他开放源代码数据库系统和专有系统之外,为用户提供了又一种选择。 PostgreSQL这个单字的拼法让有些人觉得很难念,特别是把SQL念作"sequel"的人。
  • ChatGPT

    ChatGPT Plus如何开启插件功能

    ChatGPT开启插件功能只需要先通过WildCard借记卡(leixue.com/go/wildcard)进行Plus订阅,首次开通GPTPlus会员后需要手动开启才能使用GPT插件和Code interpreter服务,所以通过ChatGPT左下角头像菜单进入设置,然后在Beta特性中开启插件功能即可。
  • HeidiSQL

    HeidiSQL,功能强大的数据库管理客户端软件

    HeidiSQL是一款开源且功能强大的数据库管理工具,支持MySQL、MariaDB、SQL Server等多种数据库。它提供了直观的图形用户界面,使得数据库的查询、编辑、管理变得简单高效。无论是新手还是高级用户都能从其丰富的功能中受益,包括数据操作、导入导出、用户权限管理等。