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

# EXECUTE(7)

execute a prepared statement

## NAME

EXECUTE - execute a prepared statement

## SYNOPSIS

```
EXECUTE name [ ( parameter [, ...] ) ]
```

## DESCRIPTION

**EXECUTE** is used to execute a previously prepared statement. Since prepared statements only exist for the duration of a session, the prepared statement must have been created by a **PREPARE** statement executed earlier in the current session.

If the **PREPARE** statement that created the statement specified some parameters, a compatible set of parameters must be passed to the **EXECUTE** statement, or else an error is raised. Note that (unlike functions) prepared statements are not overloaded based on the type or number of their parameters; the name of a prepared statement must be unique within a database session.

For more information on the creation and usage of prepared statements, see [**PREPARE**(7)](/PREPARE/7.md).

## PARAMETERS

*name*

The name of the prepared statement to execute.

*parameter*

The actual value of a parameter to the prepared statement. This must be an expression yielding a value that is compatible with the data type of this parameter, as was determined when the prepared statement was created.

## OUTPUTS

The command tag returned by **EXECUTE** is that of the prepared statement, and not EXECUTE.

## EXAMPLES

Examples are given in Examples in the [**PREPARE**(7)](/PREPARE/7.md) documentation.

## COMPATIBILITY

The SQL standard includes an **EXECUTE** statement, but it is only for use in embedded SQL. This version of the **EXECUTE** statement also uses a somewhat different syntax.

## SEE ALSO

[**DEALLOCATE**(7)](/DEALLOCATE/7.md), [**PREPARE**(7)](/PREPARE/7.md)
