doctl databases pool create
Generated on 10 Jun 2025
from doctl
version
v1.130.0
Usage
doctl databases pool create <database-cluster-id> <pool-name> [flags]
Aliases
c
Description
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 10
Flags
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 statement Default: 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 |