在 PostgreSQL 中,函数和过程封装了数据库内可复用的逻辑,以提升性能并保持组织结构清晰。函数返回值或一张表,接受输入参数,可在 SQL 查询中使用,通过 `CREATE FUNCTION` 定义。过程(PostgreSQL 11 引入)不返回值,但可以执行操作,并包含诸如 `COMMIT` 和 `ROLLBACK` 之类的事务控制命令,通过 `CREATE PROCEDURE` 定义,并使用 `CALL` 语句调用。主要区别在于函数必须返回值并可集成到 SQL 查询中,而过程侧重于执行操作和管理事务。