Introducing TimescaleDB for Scalingo PostgreSQL

March 08, 2022 - 3 min read
Introducing TimescaleDB for Scalingo PostgreSQL

We are happy to announce that TimescaleDB, the popular extension for PostgreSQL to store and manage time series data, is now available on Scalingo.

What is a time-series database?

A time series database (TSDB) is a software system that is optimized for handling time series data, arrays of numbers indexed by time, ie a datetime or a datetime range (Wikipedia).

In other words, if you need to store any information over time, you might consider using a TSDB instead of a classical relational database.

For example, most developers working in the following fields, are most likely using a TSDB:

  • Custom DevOps Monitoring;
  • Real-Time Analytics;
  • IoT and Sensor Data;

What is TimescaleDB?

TimescaleDB is a PostgreSQL extension that adds support for time series data on the PostgreSQL database.

It’s plain SQL, with powerful analytics. Your entire PostgreSQL toolset will continue to work: ORMs, connectors, JDBC, applications.

Different editions

TimescaleDB comes in two different editions with different types of licenses.

On Scalingo you will find the free software edition of TimescaleDB (licensed under Apache 2.0).

This edition is different from the Community edition that is licensed under the Timescale License forbidding the distribution on PaaS like Scalingo.

Therefore TimescaleDB’s functions labeled “community” on their documentation are not available on Scalingo. Sadly that includes distributed hypertables, compression, continuous aggregates, data retention, and a selected amount of hyperfunctions.

However, we explain how to implement continuous aggregates and data retention in our documentation.

Advantages of using TimescaleDB on Scalingo

As TimescaleDB is a PostgreSQL extension you will enjoy the same benefits as regular PostgreSQL users on Scalingo.

Namely, you are able to get a High Availability setup if you are using a Scalingo PostgreSQL Business plan.

Of course, the backups mechanism will remain the same (frequency and retention policy), as well as Point in Time Recovery.

How to use TimescaleDB on Scalingo?

To use TimescaleDB on your application, you must have a PostgreSQL database first.

It is important to note that TimescaleDB is only available for those using a PostgreSQL database starting with version 13.6.

Once the PostgreSQL database is set up, you simply have to execute the following command :

CREATE EXTENSION timescaledb;

And that’s it, your TimescaleDB is ready to use.

On Scalingo, starting with PostgreSQL 13.6.0-3, all PostgreSQL versions include TimescaleDB Open-source 2.6.0.

Important: Due to a TimescaleDB limitation, it is not possible for a user to directly restore a backup on a Scalingo hosted database. For that, you must reach the support to proceed with the recovery.

For more information and a more detailed guide, make sure to check out our complete documentation.

Share the article
Étienne Michon
Étienne Michon
Étienne Michon is one of the first employee at Scalingo. With a PhD in computer science Étienne takes care of Research and Development at Scalingo. He also regularly contributes to this blog with technical articles.
#database

Try Scalingo for free

30 days free trial / No credit card required / Hosted in Europe