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
| Field | Type | Default | Description |
|---|---|---|---|
namerequired | string | The name this profile is referred to by, in agents and in other configuration. | |
doc | string | Free-text notes about this profile, for whoever maintains the configuration. | |
connectionString | dynamic string | The database connection string. When set here, an agent cannot override it. | |
connectionPool | DbConnectionPool | Pool settings for connections to this database. |
Connection pool
| Field | Type | Default | Description |
|---|---|---|---|
isolationLevel | "READ COMMITTED" | "AUTOCOMMIT" | The transaction isolation level, such as 'READ COMMITTED' or 'AUTOCOMMIT'. Leave unset for the driver's default. | |
poolSize | integer | 3 | The number of connections kept open in the pool. |
poolTimeout | integer | 5 | How long to wait for a free connection before failing. |
poolRecycle | integer | -1 | Close and reopen a connection after this many seconds. -1 disables recycling. |
poolPrePing | boolean | false | Test a connection before using it, so stale ones are not handed out. |
maxOverflow | integer | 10 | How many extra connections may be opened above the pool size during a burst. |
connectArgs | object of string → JSON value | Arguments 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.

