Advanced Features options:
This is list of options for advanced features. For more detailed information please read advanced features
These options are inside given virtual database configuration file. For example: postgresTest-vdb_1.conf. The filename depends on the name of the vdb → nameOfVdb.conf.
⚠️ Note: You can use SHIFT with mouse scroll to scroll horizontally!
| Key | Requirements | Conf File field | Description | Possible values | Default |
|---|---|---|---|---|---|
| Multiplex | Access Mode = Proxy | multiplex | Please read Multiplex Considerations for detailed information. Do load balancing to the server at the transaction level vs. the connection level. This can drastically reduce the number of connections being established to the server. | Boolean | false |
| Multiplex timeout | multiplex | multiplexTimeout | Please read Delayed Transaction Considerations for detailed information. When multiplexing how many milliseconds should occur before releasing the connection on the back-end. In general, it is safe to leave this at 0. | Integer | 0 |
| DelayedTransaction | Access Mode = Proxy | delayedTransaction | Delay when a transaction is started until a DML is detected. This is useful when using a framework that does everything in transactions. | Boolean | false |
| Auto-Scaling Mode | Access Mode = Proxy | spModeEnabled | Enable to activate auto load-balancing features of Heimdall proxies, for use in multi-proxy deployments. This includes DNS and HTTP based redirects. This option requires external cache (Redis or Hazelcast) configured for VDB in order to work. See below for the options relevant for this feature. | Boolean | false |
| Load Balancing Criteria | Auto-Scaling Mode | proxyBalanceMode | For redirection multiple criteria can be used, the most common of which will be by load. This will select the lowest loaded (by cpu) proxy to receive traffic. Other options include random and active/standby. DNS based load balancing supports all of these options while health check (HTTP) works only with active/standby mode, which redirects all traffic to single node and keeps other ones as backup in case primary one fails. | ACTIVE_STANDBY, LOAD, RANDOM | - |
| Proxy Redirect Name | Auto-Scaling Mode | redirectBy | When redirecting, we can choose to either redirect by the proxy's IP address, hostname or in AWS environment by AWS Public IP. In the case of hostname, this must resolve to all clients connecting as-is, which often won't be the case. In general, the IP address should be used. | PRIVATE_IP, HOSTNAME, AWS_PUBLIC_IP | PRIVATE_IP |
| DNS Port | Auto-Scaling Mode | dnsPort | If set to anything other than 0, each proxy will listen for DNS queries on the specified port, and will answer ANY DNS query with a list of proxies to connect to (one in cas of active/standby mode), sorted in order based on selected mode (random by default). This can be used in conjunction with the client redirect to remove NLB completely from the database protocol path, yet still provide reliable load balancing. In general, this should be set to 54 to ensure that there is no conflict with any Systemd listener on the host. The central manager can also be configured to receive such queries, see Server Properties | Integer | 0 |
| TrackQueryDistributionCount | - | trackQueryDistributionCount | Count of the number of query entries to track for auto cache refreshing (requires autoRefresh cache option). Rarely used. | Long | 1000 |
| Paranoia | - | paranoia | Enable paranoid logging, don't reveal the SQL patterns or queries, only their hashes in debug logs | Boolean | false |
| Health check port | - | healthCheckPort | If the proxy should do a self-check on itself, and expose the status via the designated port. With an HTTP connection, request /status to determine the status of the proxy. It can be used with auto-scaling set to active/standby mode to redirect all /status requests to active node allowing external load balancers to route traffic only to one proxy and keep other as backup. | Integer | - |
| Health check interval | Health check port | healthCheckInterval | When using the healtcheck-port option, specify how often the proxy should issue a health-check on itself. Time in seconds. | Integer | - |
| Enable token authorization | healthcheck port | healthCheckTokenAuthorizationEnabled | If enabled user that wants to perform api base invalidation will have to provide correct authorization token in request params. | Boolean | false |
| Security token | Enable token authorization | healthCheckAccessToken | Security token should be added to request as parameter for example token="exampleToken". | String | - |
| JMX Port | - | jmxPort | If JMX monitoring is desired, set the port here. Typically 1099 if used. | Integer | 0 |
| JMX Hostname | JMX Port | jmxHostname | The hostname that JMX uses to refer to itself--the monitoring clients must resolve this name to the Heimdall instance. The value of ${hostname} can be used to map to the internally detected hostname, and can be combined with other string values, i.e. "${hostname}-proxy" could be used to provide proper resolution on a remote client that doesn't have access to the actual hostname via dns. | String | ${hostname} |
| JMX Username | JMX Port | jmxUsername | The username the JMX client will use to connect to the proxy | String | - |
| JMX Password | JMX Port | jmxPassword | The password for JMX connectivity. Note: The username and password can be stored in the Secrets Manager. | String | - |