PostgreSQL 教程: PL/pgSQL 过程语言

八月 19, 2023

摘要:在本教程中,您将学习 PostgreSQL 的 PL/pgSQL 过程语言。

PostgreSQL PL/pgSQL 概述

PL/pgSQL 是 PostgreSQL 数据库系统的过程式编程语言。

PL/pgSQL 允许您通过创建具有复杂逻辑的服务器对象来扩展 PostgreSQL 数据库服务器的功能。

PL/pgSQL 的设计目的是:

  • 创建用户定义的函数、存储过程和触发器。
  • 通过添加控制结构(例如ifcaseloop语句)来扩展标准 SQL。
  • 继承所有用户定义的函数、运算符和类型。

从 PostgreSQL 9.0 开始,PL/pgSQL 是默认安装的。

使用 PL/pgSQL 的优点

SQL 是一种查询语言,可让您轻松地从数据库查询数据。然而,PostgreSQL 只能单独执行 SQL 语句。

这意味着当你有多个语句时,你需要像这样一条一条地执行它们:

  • 首先,向 PostgreSQL 数据库服务器发送查询。
  • 接下来,等待它处理。
  • 然后,处理结果集。
  • 之后,做一些计算。
  • 最后,向 PostgreSQL 数据库服务器发送另一个查询并重复此过程。

此过程会产生进程间通信和网络开销。

为了解决这个问题,PostgreSQL 使用 PL/pgSQL。

PL/pgSQL 将多个语句包装在一个对象中并将其存储在 PostgreSQL 数据库服务器上。

因此,您不必将多条语句一一发送到服务器,而是可以发送一条语句来执行服务器中存储的对象。这使您能够:

  • 减少应用程序和 PostgreSQL 数据库服务器之间的往返次数。
  • 避免在应用程序和服务器之间传输即时结果。

PostgreSQL PL/pgSQL 缺点

除了使用 PL/pgSQL 的优点之外,还有一些注意事项:

  • 软件开发速度较慢,因为 PL/pgSQL 需要许多开发人员不具备的专业技能。
  • 版本管理困难,调试困难。
  • 可能无法移植到其他数据库管理系统。

通过本教程的学习,您对 PostgreSQL PL/pgSQL、其优点和缺点有了一个大致的了解。