Holistics Docs - End-to-End Business Intelligence Platform

Holistics Documentation

Welcome to the Holistics Documentation page. You'll find comprehensive guides and documentation to help you start working with Holistics as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started

Connect Database

Do You Have A Database/Data Warehouse?

I have a database

You can connect directly to Holistics by following these instructions.

I don't have a database

If you don't have your own database/Data Warehouse, there are 2 approaches:

  1. Connect Directly to your production database or replica.
  2. Set up a Google BigQuery data warehouse in under 3 minutes, and connect it to Holistics. BigQuery stores the first 10 GB and processes 1 TB of queried data per month for free.
  3. Spin up your own PostgreSQL database in 10 minutes.

I want to connect to Local Database

You may need to expose your database in order to allow Holistics' server connect via the Internet connection or the easiest way is using the Reverse SSH Tunnel, just follow these simple steps in Setup Reverse SSH Tunnels to get it done!

Connect to your Database

To get started with Holistics, first you need to connect your database to Holistics. From Manage Tab or Data Source page, click on "Add Data Source", and fill in necessary information about your database.

From Manage tab

From Manage tab

For example, to Connect to PostgreSQL

0. Connection Requirements

These are the checklist of a successful connection to Holistics

  1. Allows Holistics to connect to your DB server: Allowing Holistics IP addresses, or Setting Up SSH Tunnel
  2. Create a database user for Holistics

1. Allow Holistics to connect to your DB

If your database is not accessible in the public network, either behind a firewall or private network, you need to consider:

  • Allowing Holistics IP Addresses, or
  • Setting Up SSH Tunneling

Allowing IP Addresses

Please consult with your SysAd, DBA to help you by allowing our IP addresses. Doing so ensures that only specific, trusted hosts can have access to your database.

You can find the 4 IP addresses to allow in your Data Source Connection Form (click New Data Source to open the form).

Amazon RDS

If your database is hosted on Amazon AWS, but not on a VPC, you can set up a security group and white-list Holistics' IP addresses. See the UI below (remember to change the IP address to Holistics IP, with /32 as the suffix). E.g:

(see Redshift Documentation here)

Setting Up SSH Tunneling

Setting up reverse tunnel is great if you want to open a dedicated connection from your bastion server to our tunnel server.

All connections from Holistics will then be through the tunnel for a more secure data transfer. All connections to your DB will look as if it originates from your bastion server.

Allow External Connections

Some databases by default don't allow external connections to connect to the DB. If that's the case please read more on how to do it here.

2. Create Holistics Database User

You can use your existing database user, however we recommend creating a new database user account to connect to Holistics.

Please read more about how to Grant Database User Permission here.

Supported Databases and How to Connect

  • PostgreSQL
  • MySQL
  • Microsoft SQL Server
  • Amazon Redshift
  • Amazon AWS Athena Setup
  • Google BigQuery
  • CitusDB
  • Greenplum
  • VoltDB
  • PrestoDB
  • Presto on Qubole (QDS)
  • MongoDB (for data sync only)
  • Oracle
  • Pipedrive
  • EnterpriseDB
  • ClickHouse (for querying and visualizing data only)
  • Snowflake (for querying and visualizing data only)
  • Apache Druid (for querying and visualizing data only)

Connection Timeout Settings

Query Timeout

Sometimes your query takes a very long time to run and consumes too much resource. With this setting, you can set up time out limit to abort any query that takes more than specificed number of milliseconds.

Just open the data source setting and enter the limit time in milliseconds:

How It Works

  • When your query reaches the number of milliseconds, an error will be raised, and depend on your database the message will be
    • In PostgreSQL: ERROR: canceling statement due to statement timeout
    • In RedShift: ERROR: Query cancelled on user's request
  • Currently, Holistics only supports this feature for PostgreSQL and RedShift.

Configure DB to Allow External Connections

Some databases by default don't allow external connections to connect to the DB. If that's the case please follow the below steps:

If you're using SSH tunneling and your bastion server is the same as your DB host, then you shouldn't need the below, since the DB connection will look like a local connection.


Open postgresql.conf (usually in /etc/postgresql/9.x/main/) and enable the following:

listen_addresses = '*'

Also, add the following lines to pg_hba.conf:

host    all        all   md5
host    all        all    md5

And restart your database to take effect:

sudo service postgresql restart


Open my.conf and comment out bind-address line

# bind-address =

Then restart MySQL for the change to take effect

sudo /etc/init.d/mysql restart
# or
sudo service mysql restart

Connect Database

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.