服务器编程接口 (SPI)

一组用于在 PostgreSQL 服务器上下文中运行的 C 函数内执行 SQL 命令的接口函数。

服务器编程接口 (SPI) 是一组接口函数,用于在 PostgreSQL 服务器上下文中运行的 C 函数内执行 SQL 命令。

有关将 SQL 命令嵌入到外部 C 程序中的接口,请参阅 ECPG

SPI 添加于 PostgreSQL 6.2

源代码

SPI 主要位于:src/backend/executor/spi.c

更改历史记录

进行中

  • PostgreSQL 14
    • 添加了以下函数 (提交 ee895a65d5a83d79)
      • SPI_execute_extended()
      • SPI_cursor_parse_open()
  • PostgreSQL 10
    • 以下函数已移除并被无操作宏替换 (提交 1833f1a1)
      • SPI_push()
      • SPI_pop()
      • SPI_restore_connection()
    • SPI_connect()SPI_finish() 将不再返回错误代码 (SPI_ERROR_CONNECTSPI_ERROR_UNCONNECTED) ,因为任何失败条件都将被服务器 ERROR 捕获 (提交 1833f1a1)
  • PostgreSQL 8.3
    • 添加了以下函数 (提交 66888f74)
      • SPI_prepare_cursor()
      • SPI_scroll_cursor_fetch()
      • SPI_scroll_cursor_move()
  • PostgreSQL 8.2
    • 添加了以下返回代码 (提交 ea2e2635)
      • SPI_OK_INSERT_RETURNING
      • SPI_OK_UPDATE_RETURNING
      • SPI_OK_DELETE_RETURNING
  • PostgreSQL 8.0
    • 添加了以下函数 (提交 65a0db19)
      • SPI_getargtypeid()
      • SPI_getargcount()
      • SPI_is_cursor_plan()
  • PostgreSQL 7.2
    • 添加了以下函数 (提交 d27f363e)
      • SPI_cursor_open()
      • SPI_cursor_find()
      • SPI_cursor_fetch()
      • SPI_cursor_fetch()
      • SPI_freeplan()
      • SPI_freetuptable()
    • 添加了函数 SPI_copytupledesc() (提交 f59f3c88)
  • PostgreSQL 6.2

分类

应用程序接口PostgreSQL 内部结构

另请参阅

spiECPGworker_spi

反馈

提交任何关于 "服务器编程接口 (SPI)" 的评论、建议或更正 在此处