# Activate a PostgreSQL Connection Pooler

You can activate a managed connection pooler (`pgbouncer`). Besides enabling it, you can only configure the `poolMode`. Currently, we support two modes:

* `transaction`: The connection is released back to the pool after the transaction is completed. It is the default mode.
* `session`: The connection is released back to the pool after the client disconnects.

{% hint style="info" %}
**Note:** To use `pgbouncer`, change the port to connect to the database from 5432 (the default) to 6432. For example: For `psql` use `psql -h pg-3euh45am6idkppu3.postgresql.de-fra.ionos.com -U myuser -d mydb --port=6432`.
{% endhint %}

## Endpoint

To activate the connection pooler, send `PATCH` request to the following endpoint:`https://api.ionos.com/databases/postgresql/clusters/{clusterId}`

{% hint style="info" %}
**Note:** The sample UUID is `498ae72f-411f-11eb-9d07-046c59cc737e`.
{% endhint %}

## Request

```bash
curl --include \
    --request PATCH \
    --user "clientname@ionos.com:Mb2.r5oHf-0t" \
    --header "Content-Type: application/json" \
    --data-binary '{
      "metadata": {},
      "properties": {
        "connectionPooler": {
          "enabled": true,
          "poolMode": "session"
        }
      }
    }' \
```

## Response

```json
{
  "type": "cluster",
  "id": "498ae72f-411f-11eb-9d07-046c59cc737e",
  "metadata": {
    "state": "AVAILABLE",
    "createdDate": "2020-12-10T12:37:50.000Z",
    "createdBy": "clientname@ionos.com",
    "createdByUserId": "012342f-411f-1eeb-9d07-046c59cc737e",
    "lastModifiedDate": "2020-12-18T21:37:50.000Z",
    "lastModifiedBy": "clientname@ionos.com",
    "lastModifiedByUserId": "012342f-411f-1eeb-9d07-046c59cc737e"
  },
  "properties": {
        "displayName": "an even better name",
        "location": "de/txl",
        "dnsName": "pg-pgov71sjg1c875ji.postgresql.de-txl.ionos.com",
        "connections": [
            {
                "datacenterId": "db7e8811-cfae-4b40-82ee-2f4cff81e105",
                "lanId": "2",
                "cidr": "10.7.222.3/23"
            }
        ],
        "cores": 4,
        "postgresVersion": "15",
        "ram": 4096,
        "instances": 1,
        "storageSize": 102400,
        "storageType": "HDD",
        "maintenanceWindow": {
            "dayOfTheWeek": "Sunday",
            "time": "03:30:00"
        },
        "synchronizationMode": "ASYNCHRONOUS",
        "connectionPooler": {
            "enabled": true,
            "poolMode": "session"
        }
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ionos.com/cloud/databases/postgresql/api/v1-api/modify-cluster-attributes/activate-a-postgresql-connection-pooler.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
