Database profiles

A database profile is a connection that agents query through the db command. The profile holds the connection string and the pool settings for that connection.

Settings

FieldTypeDefaultDescription
namerequiredstringThe name this profile is referred to by, in agents and in other configuration.
docstringFree-text notes about this profile, for whoever maintains the configuration.
connectionStringdynamic stringThe database connection string. When set here, an agent cannot override it.
connectionPoolDbConnectionPoolPool settings for connections to this database.

Connection pool

FieldTypeDefaultDescription
isolationLevel"READ COMMITTED" | "AUTOCOMMIT"The transaction isolation level, such as 'READ COMMITTED' or 'AUTOCOMMIT'. Leave unset for the driver's default.
poolSizeinteger3The number of connections kept open in the pool.
poolTimeoutinteger5How long to wait for a free connection before failing.
poolRecycleinteger-1Close and reopen a connection after this many seconds. -1 disables recycling.
poolPrePingbooleanfalseTest a connection before using it, so stale ones are not handed out.
maxOverflowinteger10How many extra connections may be opened above the pool size during a burst.
connectArgsobject of string → JSON valueArguments passed straight through to the database driver. Certificate files belong here.

The connection string names an async SQLAlchemy driver, which must be installed in the server's environment: postgresql+asyncpg://..., mysql+aiomysql://..., oracle+oracledb://..., sqlite+aiosqlite:///path. The connection string is a dynamic string, so the password can come from sys.secret. An agent cannot override the connection string set in the profile.