yugabyte / yugabyte-db

YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
https://www.yugabyte.com
Other
8.92k stars 1.06k forks source link

[YSQL] Add support for TimescaleDB extension #3126

Open fire opened 4 years ago

fire commented 4 years ago

Jira Link: DB-4823 OS OSX Catalina

ysqlsh (11.2-YB-2.0.7.0-b0)

cp /usr/local/Cellar/timescaledb/1.5.1/lib/timescaledb/timescaledb* ~/Documents/yugabyte-2.0.7.0/postgres/lib
cp /usr/local/Cellar/timescaledb/1.5.1/share/timescaledb/* ~/Documents/yugabyte-2.0.7.0/postgres/share/extension

./bin/yb-ctl start
./bin/ysqlsh
ysqlsh (11.2-YB-2.0.7.0-b0)
Type "help" for help.

yugabyte=# CREATE database tutorial;
CREATE DATABASE
yugabyte=# \c tutorial
You are now connected to database "tutorial" as user "yugabyte".
tutorial=# CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
ERROR:  DROP EVENT TRIGGER not supported yet
HINT:  See https://github.com/YugaByte/yugabyte-db/issues/1156. Click '+' on the description to raise its priority
CREATE database tutorial;
\c tutorial
You are now connected to database "tutorial" as user "yugabyte".
tutorial=# CREATE TABLE conditions (
tutorial(#   time        TIMESTAMPTZ       NOT NULL,
tutorial(#   location    TEXT              NOT NULL,
tutorial(#   temperature DOUBLE PRECISION  NULL,
tutorial(#   humidity    DOUBLE PRECISION  NULL
tutorial(# );
CREATE TABLE
tutorial=# SELECT create_hypertable('conditions', 'time');
ERROR:  function create_hypertable(unknown, unknown) does not exist
LINE 1: SELECT create_hypertable('conditions', 'time');
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
tutorial=# CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
NOTICE:  extension "timescaledb" already exists, skipping
CREATE EXTENSION
tutorial=# SELECT create_hypertable('conditions', 'time');
ERROR:  function create_hypertable(unknown, unknown) does not exist
LINE 1: SELECT create_hypertable('conditions', 'time');
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
schoudhury commented 4 years ago

Extensions like TimescaleDB that interact with the storage layer of PostgreSQL are not expected to work as-is given YugabyteDB’s completely different storage architecture. Each such extension requires additional investigation and engineering on YugabyteDB’s part. We do not have TimescaleDB on our immediate extensions roadmap, will certainly evaluate as we plan for the later half of 2020.

icodeiexist commented 3 years ago

Hello, I wish you a happy new year 2021. Any plans to support timescaledb someday? I know there are serious architectural challenges around that, but it would be awesome. Thank you.

kdevan commented 11 months ago

This is my only blocker for adopting Yugabyte. Would love to see support for Timescale. This would be such a powerful combination.