八月 19, 2023
摘要:在本教程中,您将学习 PostgreSQL 的 PL/pgSQL 过程语言。
目录
PostgreSQL PL/pgSQL 概述
PL/pgSQL 是 PostgreSQL 数据库系统的过程式编程语言。
PL/pgSQL 允许您通过创建具有复杂逻辑的服务器对象来扩展 PostgreSQL 数据库服务器的功能。
PL/pgSQL 的设计目的是:
- 创建用户定义的函数、存储过程和触发器。
- 通过添加控制结构(例如
if
、case
和loop
语句)来扩展标准 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、其优点和缺点有了一个大致的了解。