---
name: "SPI_execute_plan_with_paramlist"
section: "3"
platform: "linux"
package: "postgresql"
version: "18.6-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SPI_execute_plan_with_paramlist"
---

# SPI\_execute\_plan\_with\_paramlist(3)

execute a statement prepared by SPI\_prepare

## NAME

SPI\_execute\_plan\_with\_paramlist - execute a statement prepared by **SPI\_prepare**

## SYNOPSIS

```
int SPI_execute_plan_with_paramlist(SPIPlanPtr plan,
                                    ParamListInfo params,
                                    bool read_only,
                                    long count)
```

## DESCRIPTION

**SPI\_execute\_plan\_with\_paramlist** executes a statement prepared by **SPI\_prepare**. This function is equivalent to **SPI\_execute\_plan** except that information about the parameter values to be passed to the query is presented differently. The ParamListInfo representation can be convenient for passing down values that are already available in that format. It also supports use of dynamic parameter sets via hook functions specified in ParamListInfo.

This function is now deprecated in favor of **SPI\_execute\_plan\_extended**.

## ARGUMENTS

SPIPlanPtr *plan*

prepared statement (returned by **SPI\_prepare**)

ParamListInfo *params*

data structure containing parameter types and values; NULL if none

bool *read\_only*

true for read-only execution

long *count*

maximum number of rows to return, or 0 for no limit

## RETURN VALUE

The return value is the same as for **SPI\_execute\_plan**.

*SPI\_processed* and *SPI\_tuptable* are set as in **SPI\_execute\_plan** if successful.
