Skip to content

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 -