doctl databases pool create
Generated on 20 Oct 2025
from doctl version
v1.146.0
Usage
doctl databases pool create <database-cluster-id> <pool-name> [flags]Aliases
cDescription
Creates a connection pool for the specified database cluster.
In addition to the pool’s name, you must also use flags to specify the pool’s target database, its size, and a database user that the pool uses to authenticate. If you do not specify a user, the field is set to inbound user. An example call would be:
The pool size is the minimum number of connections the pool can handle. The maximum pool size varies based on the size of the cluster.
There’s no perfect formula to determine how large your pool should be, but there are a few good guidelines to keep in mind:
- A large pool stresses your database at similar levels as that number of clients would alone.
- A pool that’s much smaller than the number of clients communicating with the database can act as a bottleneck, reducing the rate when your database receives and responds to transactions.
We recommend starting with a pool size of about half your available connections and adjusting later based on performance. If you see slow query responses, check the CPU usage on the database’s Overview tab. We recommend decreasing your pool size if CPU usage is high, and increasing your pool size if it’s low.
You can get a list of existing connection pools by calling:
doctl databases pool list <database-cluster-id>
You can get a list of existing database clusters and their IDs by calling:
doctl databases list
Example
The following example creates a connection pool named example-pool for a database cluster with the ID ca9f591d-f38h-5555-a0ef-1c02d1d1e35. The command uses the --size flag to set the pool size to 10 and sets the user to the database’s default user:
doctl databases pool create ca9f591d-f38h-5555-a0ef-1c02d1d1e35 example-pool --size 10Flags
| Option | Description |
|---|---|
--db |
The name of the specific database within the database cluster (required) |
--help, -h |
Help for this command |
--mode |
The pool mode for the connection pool, such as session, transaction, and statementDefault: transaction |
--size |
pool size (required) Default: 0 |
--user |
The username for the database user |
Related Commands
| Command | Description |
|---|---|
| doctl databases pool | Display commands for managing connection pools |
Global Flags
| Option | Description |
|---|---|
--access-token, -t |
API V2 access token |
--api-url, -u |
Override default API endpoint |
--config, -c |
Specify a custom config file Default: |
--context |
Specify a custom authentication context name |
--http-retry-max |
Set maximum number of retries for requests that fail with a 429 or 500-level error
Default: 5 |
--http-retry-wait-max |
Set the minimum number of seconds to wait before retrying a failed request
Default: 30 |
--http-retry-wait-min |
Set the maximum number of seconds to wait before retrying a failed request
Default: 1 |
--interactive |
Enable interactive behavior. Defaults to true if the terminal supports it (default false)
Default: false |
--output, -o |
Desired output format [text|json] Default: text |
--trace |
Show a log of network activity while performing a command Default: false |
--verbose, -v |
Enable verbose output Default: false |