Create a ConnectionPool resource for Aiven Postgres and use the generated pool URI for application traffic, keeping the direct service URI for migrations. Set poolMode to transaction so connections are released after each transaction. Size poolSize for your plan; the Kubernetes operator caps it at 1000.

Context: Aiven Operator docs: documents the gotcha that Aiven for PostgreSQL uses PgBouncer for connection pooling, and the pool has its own connection URI separate from the direct service URI. Point application runtime at the pool URI with poolMode transaction; run migrations against the direct URI. With the Kubernetes operator, poolSize tops out at 1000, lower than the 10000 available through console, CLI, Terraform, or API.