Skip to content

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