Common connection properties:
This is list of common properties.
They are inside given data source configuration file. For example: postgresTest-source_1.conf These properties are saved in this format there:
"properties": {
"ApplicationName": "testApp",
"testQuery": "SELECT 1",
"defaultCatalog": "test",
"url": "jdbc:postgresql://localhost:5432/${database}"
},
⚠️ Note: You can use SHIFT with mouse scroll to scroll horizontally!
| Key | Description | Possible values | Default |
|---|---|---|---|
| initSQLAsync | When using an Async rule, a SQL statement to execute on initializing the connection. Please see the Async Theory section for more information. | String | - |
| authJdbcUrl | Alternate JDBC URl to use when pulling authentication information for SQL Auth | Boolean | - |
| dbChanges | Query to use to pull database changes | String | - |
| dbTimeMs | Query to retrieve the current time per the DB in milliseconds since Epoch | String | - |
| dbTriggerTracking | If table based tracking should be used. Please see the Cache Theory section for more information. | Boolean | false |
| hdConnectRetryCount | For Heimdall connections, how many retries are to be performed before flagging a failure | Integer | 3 |
| hdConnectRetryDelay | For Heimdall connection retries, what should the delay be between retries (in ms)--this value will be doubled on every retry | Integer | 0 |
| hdConnectTimeout | For Heimdall connections, the connection timeout (in ms, but some drivers will only honor at per-second increments) | Integer | 1000 |
| hdPasswordRotate | Enable password rotation logic to roll DB passwords during rotation windows | Boolean | false |
| hdRewriteInserts | When using an Async rule, rewrite multi-row inserts into a single command | Boolean | - |
| defaultCatalog | Used when a database/catalog is not provided, i.e. for health-checks when ${catalog} or ${database} is specified in a URL | String | - |
| defaultSchema | Used when a schema is not provided, i.e. for health-checks when ${schema} is specified in a URL | String | - |
| defaultHost | Used when a hostname is not provided, i.e. for health-checks when ${host} is specified in a URL | String | - |
| hdUseServerInfo | Should use heimdall.server_info table (provides an alternative control point to manage values for load balancing) | Boolean | false |
DB specific
| Key | Database | Description | Possible values | Default |
|---|---|---|---|---|
| hdUsePgNotify | PostgreSQL | Instead of using a cache's pub/sub interface, when using Postgres, use the postgres notify interface for cache invalidation and read/write split last write time notifications. Please note, this still requires a cache to be enabled, although it can be the "local only" cache option. | String | - |
| hdNotifyDBs | PostgreSQL | When using hdUsePgNotify, by default only the default catalog is listened to. This option allows one or more catalogs to be listened to, for trigger based invalidation. A value of * means "all catalogs", with comma separated values starting with "-" removing from the complete list. Example: *,-template0,-template1 would be a generally good starting point. | Boolean | (see desc.) |
| azureDbHost | Azure Postgres or Azure MySQL | When using the Azure Postgres or Azure MySQL managed databases, there is a requirement that the username used is of the format "user@hostname". Heimdall provides an option in the data source options of "azureDbHost", which if set to true, will automatically map the username to this format based on which server is being connected to. Ensure that when using this option, the fully qualified domain name is set in the JDBC URL. | Boolean | false |