Install self-hosted TimescaleDB on macOS systems

You can host TimescaleDB yourself on your Apple macOS system. These instructions use a Homebrew installer on these versions:

  • Apple macOS 10.15 Catalina
  • Apple macOS 11 Big Sur
  • Apple macOS 12 Monterey


If you have already installed PostgreSQL using a method other than Homebrew, you could encounter errors following these instructions. It is safest to remove any existing PostgreSQL installations before you begin. If you want to keep your current PostgreSQL installation, do not install TimescaleDB using this method. Install from source instead.

Installing self-hosted TimescaleDB on macOS-based systems

  1. Install Homebrew, if you don't already have it:
    /bin/bash -c "$(curl -fsSL"
    For more information about Homebrew, including installation instructions, see the Homebrew documentation.
  2. At the command prompt, add the Timescale Homebrew tap:
    brew tap timescale/tap
  3. Install TimescaleDB:
    brew install timescaledb
  4. Run the setup script to complete installation:

When you have completed the installation, you need to configure your database so that you can use it. The easiest way to do this is to run the timescaledb-tune script, which is included with the timescaledb-tools package. For more information, see the configuration section.

Set up the TimescaleDB extension

When you have PostgreSQL and TimescaleDB installed, you can connect to it from your local system using the psql command-line utility. This is the same tool you might have used to connect to PostgreSQL before, but if you haven't installed it yet, check out our installing psql section.

Setting up the TimescaleDB extension

  1. On your local system, at the command prompt, connect to the PostgreSQL instance as the postgres superuser:
    psql -U postgres -h localhost
    If your connection is successful, you'll see a message like this, followed by the psql prompt:
    psql (13.3, server 12.8 (Ubuntu 12.8-1.pgdg21.04+1))
    SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
    Type "help" for help.
  2. At the psql prompt, create an empty database. Our database is called example:
    CREATE database example;
  3. Connect to the database you created:
    \c example
  4. Add the TimescaleDB extension:
  5. You can now connect to your database using this command:
    psql -U postgres -h localhost -d example

You can check that the TimescaleDB extension is installed by using the \dx command at the psql prompt. It looks like this:

tsdb=> \dx
List of installed extensions
-[ RECORD 1 ]------------------------------------------------------------------
Name        | pg_stat_statements
Version     | 1.7
Schema      | public
Description | track execution statistics of all SQL statements executed
-[ RECORD 2 ]------------------------------------------------------------------
Name        | plpgsql
Version     | 1.0
Schema      | pg_catalog
Description | PL/pgSQL procedural language
-[ RECORD 3 ]------------------------------------------------------------------
Name        | timescaledb
Version     | 2.5.1
Schema      | public
Description | Enables scalable inserts and complex queries for time-series data
-[ RECORD 4 ]------------------------------------------------------------------
Name        | timescaledb_toolkit
Version     | 1.3.1
Schema      | public
Description | timescaledb_toolkit


Where to next

Now that you have your first TimescaleDB database up and running, you can check out the TimescaleDB section in our documentation, and find out what you can do with it.

If you want to work through some tutorials to help you get up and running with TimescaleDB and time-series data, check out our tutorials section.

You can always contact us if you need help working something out, or if you want to have a chat.

Found an issue on this page?

Report an issue!


Related Content