Data Sources

Our data source documentation contains information regarding the available data source features and settings, as well as instructions for connecting a new data source.

To view information about a specific data source, check out our list of data sources you can directly connect to in Chartio.

Public vs Private data sources

Chartio provides two methods of connecting to your database: Direct Connection and Tunnel Connection.

Direct Connection is the easiest method as it simply requires you to allow Chartio’s IP address ( and enter your connection details on the connection page.

If your database is on a private network and you do not wish to modify any firewall rules, you instead can use an SSH tunnel to make an outbound encrypted request from your network to ours.

Local database

Chartio cannot connect directly to databases on local machines. You will need to connect your local database using an SSH tunnel connection if you wish to connect this type of database.

An SSH tunnel connection to a local database is not recommended as a long-term solution, but it may be suitable for test or trial environments.

Supported data sources

Amazon Athena Amazon Aurora Amazon RDS Amazon Redshift
Amazon VPC CSV Uploads Databricks Google Analytics
Google BigQuery Google Cloud SQL Google Sheets Heap SQL
Heroku MariaDB Microsoft Azure Microsoft SQL Server
MongoDB MySQL Oracle PostgreSQL
Presto Rackspace Cloud Segment Snowflake
Stitch Tenjin DataVault Treasure Data Vertica
VoltDB Workable

Maximum tables and columns per schema

There’s currently a maximum limit of 5,000 tables and 50,000 columns per schema in a data source. If you hit these limits, you could do either of the following to bring the necessary tables into Chartio:

  • If possible, limit the access of the database user you provide in Chartio’s data source connection form by granting access to only the essential tables that need to be included in Chartio.
  • After the initial import into Chartio, remove unnecessary tables from the Chartio schema then sync the schema and select the tables you’d like to add.

Read-only connections

By default, Chartio sets data sources to read-only at the connection level. This provides an additional layer of security against malicious queries.

Some databases, such as Redshift, disallow the creation of variables and temporary tables when connections are set to read-only. For this reason, we allow Redshift users to disable the enforcement of read-only in their data source settings if needed.

If you’re seeing an error message like Error: Transaction is read-only, disabling the read-only setting should resolve this issue.

Even with read-only disabled, your database is still protected from malicious queries in two ways:

  • We recommend creating a Chartio-specific read-only database user to connect your database to Chartio
  • Chartio’s disallowed keywords list that blocks queries with malicious keywords

SSL encryption

Chartio offers SSL encryption for database connections, but we do not validate SSL certificates at this time.

If you would like an additional level of security for your connection, we recommend using an SSH tunnel connection instead. This will give you full control over the connection.

VPN and reverse SSH tunnels

We sometimes get asked about VPNs. We currently do not support this type of connection.

VPNs are useful to bridge two different private networks. They require additional configuration of network routing rules and firewall rules.

Our reverse SSH tunnel, on the other hand, maps a single IP and port in one private network into another. Very little network routing setup is required and very few firewalls rules need to be configured.

Conversely, a poorly configured VPN could give Chartio access to every server in the private network or vice versa. In addition, AWS places limitations on the number of VPNs or peer-ed VPN networks. Meaning, it would be difficult to scale VPNs as easily as we can reverse SSH connections.

Reverse SSH should be just as secure from an encrypted tunnel perspective, with a much simpler implementation.

Refer to our instructions for setting up tunnel connections.

Amazon S3 connection

Chartio does not have a direct connection to Amazon S3, as Chartio supports primarily relational SQL databases. Amazon Athena has the capability of accessing your data stored in an S3 bucket. For more information about this process, please refer to the Amazon Athena documentation. Alternatively, you can put the data in Amazon Redshift or an RDS instance.

Additional data sources

If your data is held in a cloud application, you can find more information about bringing in this type of data into Chartio in our cloud application data integration documentation.

You can also create Data Stores to be used as data sources within Chartio. Data Stores allow you to save queries that will run against your database(s) at specified intervals and the stored results will then be available as a Data Source to be used like any other in Chartio.

Another option to further customize how your data is displayed and queried when using Chartio’s Interactive Mode is to utilize our Custom Schema options. You can create custom columns and tables in both standard databases and in our Data Stores.

Unauthorized data sources

Data sources appear as “Unauthorized” on the Data Sources page if you or your team have not been granted access to the data source.

You can view charts that have been created using these data sources if you have access to the charts’ parent dashboard, but you can’t query those unauthorized data sources when using Visual SQL or Data Explorer.

If you need access to a data source, please contact your administrator or a member of the Owners team. You can find members of the Owners team from the Teams page.

Data stored in Chartio

In most cases, Chartio has read-only access to the data sources you connect to it. However, there are several scenarios where Chartio does store your data:

The data stored on our servers are encrypted both at rest and in transit. We take privacy and security very seriously; you can learn more about how we do it on our Security page.

While we do handle your data with care, we understand it still may be a concern, so you have the ability to remove your stored data from Chartio.

CSV uploads

When you add a CSV upload as a data source to Chartio, the file is uploaded to Chartio so the data in the file can be queried like with any database connection. Because the data now sits on Chartio servers, the CSV file can be removed from your machine and the connection will still be live.

Data Stores

The Data Store feature allows you to save query results as a new data source. Data Stores you create in Chartio are stored on Chartio servers to remove load from your database. Any Stored Tables you create are updated according to the refresh schedule you’ve set. Check out the extra information we have about Data Store security.

Cached query results

Query results from charts are cached and stored for the amount of time set for the cache duration of your dashboard.

You may control the cache duration from your dashboard settings. However, keep in mind that a lower cache duration means queries are sent more frequently to your database, which can slow overall performance and increase database cost.


Snapshots save a copy of your query results at set times in PDF and CSV format every day from the date the feature is turned on. If you disable this feature, your results are stored but no further Snapshots will be collected. Your Snapshots can be re-enabled until the dashboard is deleted, at which time, your snapshots will be permanently deleted.

Remove your data from Chartio

If you’d like to remove all your data from Chartio, you should disconnect your CSV data sources, delete your Data Stores, and delete your dashboards.

You can do this by going to the Data Source or Data Store page and finding the Disconnect button. Only users with Admin permissions to the data source or Data Store can disconnect these resources from Chartio.

Delete any leftover data stores