Analytics Support requires Datomic On-Prem version 0.9.5656 or greater.

To set up analytics support the first time, you will need to perform the following steps in order:

Once analytics support is configured, you can use the system by following the connecting documentation.

Metaschema files can be updated without restarting the presto server and the changes will be adopted dynamically (in 1 minute or less).

Changes to catalog and properties files require a restart of the presto server.

First Configuration

Analytics support requires you to configure a catalog and you should include at least one metaschema file. The catalog allows you to configure the set of databases that are available for analytics, while the metaschema is responsible for driving the mapping between Datomic attributes and Presto tables and columns.

A set of sample config files can be found in the unzipped Datomic distribution under presto-server/etc-samples :

├── catalog
│   └── analytics.properties
├── config.properties
├── jvm.config
└── node.properties

Presto can be run with these files, however we recommend you make a copy of them elsewhere and configure your Presto instance to use your copies.


The sample config.properties and jvm.config files include default settings that should be reviewed and modified for the machine Presto is running on.

The node.properties file uses the default node.id. You should generate a new id and replace it in the properties file. This is also a good time to update the node.data line to a local directory you wish to use for data storage.


The catalog/analytics.properties file is a sample catalog file. This file will need to be updated with the secret-key and access-key used to run your Peer Server.

The optional list of exposed databases (datomic.databases) in the catalog enables you to select only specific databases from this system as accessible for analytics. If you leave this list commented, all databases in the system will be accessible via analytics.

NOTE: If you have a large number of databases and you do not limit the set of exposed databases, some tools may automatically query all databases in the system, which can result in significant query load on the analytics server and the Peer Server. Limiting the set of exposed databases to those specifically desired for analytics is highly recommended.

Note: all properties specified in *.properties files can be passed as command line parameters, e.g. you can provide a node.id without editing the node.properties file with:

bin/presto run -Dnode.id=<uuid>

jvm.config settings cannot be passed this way

Changes to the catalog and any *.properties files require restarting the Presto server.

Enabling JDBC Metadata

Many analytics tools provide the ability to automatically explore all of the tables in your system. Such exploration involves issuing one (or many!) JDBC metadata queries, forcing the load of every table in your system.

Because these automatic queries can be so expensive, they are disabled by default. To enable JDBC metadata queries, you must explicitly enumerate the Datomic databases you want to query with the datomic.databases property described above.


Place one or more metaschema edn files in the etc-path/datomic subdirectory.

Changes to metaschema files will be adopted dynamically (in 1 minute or less) without restarting the Presto server.

See the metaschema grammar for more information on writing your metaschema.

See the Connecting documentation for details on running and connecting to analytics support.