doctl databases pool create

Go to Navigation


doctl databases pool create <database-id> <pool-name> [flags]




This command creates a connection pool for the specified database cluster and gives it the specified name.

You must also use flags to specify the target database, pool size, and database user’s username that will be used for the pool. An example call would be:

pool create ca9f591d-fb58-5555-a0ef-1c02d1d1e352 mypool --db defaultdb --size 10 --user doadmin

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 will stress 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

You can get a list of existing database clusters and their IDs by calling:

doctl databases list


--dbThe name of the specific database within the database cluster (required)
--help, -hHelp for this command
--modeThe pool mode for the connection pool, e.g. session, transaction, and statement
Default: transaction
--sizepool size (required)
Default: 0
--userThe username for the database user (required)
doctl databases poolDisplay commands for managing connection pools

Global Flags

--access-token, -tAPI V2 access token
--api-url, -uOverride default API endpoint
--config, -cSpecify a custom config file
  • macOS: ${HOME}/Library/Application Support/doctl/config.yaml
  • Linux: ${XDG_CONFIG_HOME}/doctl/config.yaml
  • Windows: %APPDATA%\doctl\config.yaml
--contextSpecify a custom authentication context name
--output, -oDesired output format [text|json]
Default: text
--traceShow a log of network activity while performing a command
Default: false
--verbose, -vEnable verbose output
Default: false