| attribute-query | string | optional | SELECT linked_accounts.* FROM linked_accounts JOIN accounts ON accounts.account_id = linked_accounts.account_id WHERE accounts.username = :subject | A custom search query for attribute searches. It should contain a statement that marks the subject as :subject to be the replaced variable. Example: SELECT * FROM user_attributes WHERE subject = :subject. :subject will be mapped against the value given when the query is called. |
| connection-string | string | required | - | The JDBC connection string. |
| connection-timeout | int64 | optional | 30000 | The time in milliseconds that a client waits for a connection from the pool before giving up. |
| driver | union (string | enumeration (com.microsoft.sqlserver.jdbc.SQLServerDriver, org.postgresql.Driver, org.hsqldb.jdbc.JDBCDriver, software.amazon.jdbc.Driver)) | required | - | The JDBC driver to use. Must be present in the $IDSVR_HOME/lib/plugins/data.access.jdbc directory when the plugin is loaded. The ones listed are those shipped with the server. |
| enable-pool-metrics | boolean | optional | false | Whether connection pool metrics are published by the server. |
| idle-timeout | int64 | optional | 600000 | The maximum amount of time in milliseconds that a connection is allowed to sit idle in the pool. A value of 0 means that idle connections are never removed from the pool. |
| max-lifetime | int64 | optional | 1800000 | The maximum lifetime in milliseconds of a connection in the pool. When a connection reaches this timeout it will be retired from the pool, subject to a maximum variation of +30 seconds. We strongly recommend setting this value, and it should be at least 30 seconds less than any database-level connection timeout. |
| max-pool-size | int32 | optional | 20 | Maximum number of connections to keep in the connection pool, counting both idle and active. |
| min-idle-pool-size | int32 | optional | 10 | Minimum number of connections to keep in the connection pool. |
| multi-tenant-mode | boolean | optional | false | When enabled the JDBC data source stores data for multiple tenants and all issued queries will isolate results for tenant configured on profile or parent service. The database schema needs to be migrated before enabling multi-tenant mode. When false, the database only stores data for default tenant. |
| password | string | optional | “ | Password to use when connecting to this data source. |
| use-for-audit | boolean | optional | false | When this is set to true, this JDBC data source will be used by log4j2 to store audit messages |
| username | string | optional | “ | Username to use when connecting to this data source. |