# 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"
        }
    }
}
```
