mattludwigs / timescale

TimescaleDB made easy with Ecto

Home Page:https://hexdocs.pm/timescale/Timescale.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Timescale

Build Status Hex pm Hexdocs.pm

Extends the Ecto DSL for easily working with TimescaleDB. Already using Ecto and Postgres? Great, you're all set to start working with time-series data.

Features

Adding the TimescaleDB extension

  1. Make sure your database has Timescale correctly installed
  2. Create a new Ecto migration
  3. Call the add_timescaledb_extension/0 and drop_timescaledb_extension/0 in your migration

E.g.

defmodule MyApp.Repo.Migrations.SetupTimescale do
  use Ecto.Migration

  import Timescale.Migration

  def up do
    add_timescaledb_extension()
  end

  def down do
    drop_timescaledb_extension()
  end
end

Installation

If available in Hex, the package can be installed by adding timescale to your list of dependencies in mix.exs:

def deps do
  [
    {:timescale, "~> 0.1.0"}
  ]
end

Built by Bitfo

Installing Postgres / TimescaleDB on MacOS

There are many ways to install PostgreSQL locally, including Postgres.app, Docker, and building locally. Below is how to install through Homebrew

First, install Postgres

$ brew install postgresql
$ sudo chown $(whoami) /usr/local/var/postgres
$ initdb /usrl/local/var/postgres
$ createuser -s postgres
$ createdb

Make Postgres a service that is started automatically

$ brew services start postgresql

Then install Timescaledb

$ brew tap timescaledb/tap
$ brew install timescaledb

# Add the following to `/opt/homebrew/var/postgres/postgresql.conf`
shared_preload_libraries = 'timescaledb'

About

TimescaleDB made easy with Ecto

https://hexdocs.pm/timescale/Timescale.html

License:Apache License 2.0


Languages

Language:Elixir 100.0%