服务器编程接口 (SPI)

用于在 C 函数中执行 SQL 命令的接口函数集

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

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

SPIPostgreSQL 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 内部

另请参阅

spi, ECPG, worker_spi

反馈

提交任何关于“服务器编程接口 (SPI)”的评论、建议或更正请点击此处