> For the complete documentation index, see [llms.txt](https://docs.thingsup.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thingsup.io/actions/postgresql-query-action.md).

# PostgreSQL Query Action

This provides a way to run PostgreSQL Query. Before adding PostgreSQL Query Action, user has to define a [**PostgreSQL Connection**](/connections/postgresql-connection.md). User need to provide following parameters to add PostgreSQL Query Action.

#### Query

&#x20;PostgreSQL Query with "$1/$2/$3...$n" present on Dynamic Fields

```
SELECT * FROM books WHERE author = $1
```

#### Function

* User can write JavaScript code to supply dynamic data to query.
* "payload" object and "params" array object is available in this code which can be used to supply dynamic data to written query.
* '$n' will be replaced sequentially from nth parameter from params array contents.

```
//Example 1

params.push(payload.author);

```

#### Connection ID

User need to provide a Connection ID of PostgreSQL database connection.

![Add PostgreSQL Query Action](/files/nX5gmJHx3CfgCabFAFDp)

Please note the following points:

{% hint style="info" %}

* "payload" object is supplied from Action Trigger like Rules, Action Command etc.
* '$n' in Query will be replaced sequentially from params array.
* In case of Static Query don't write anything in Function
* Data Response of PostgreSQL query will be available as Action Response.
  {% endhint %}
