edgedb 集成timescaledb

timescaledb 是一个强大的pg 扩展,可以让我们的pg 数据库支持时序数据库的能力,以下测试下与edgedb 集成

预备

因为edgedb 当前是基于pg11 开发的,所以需要使用pg11 的timescale 扩展

环境准备

使用这个参考rpm 包, 如果提示依赖的问题,可能还要安装pg 数据库,10 我测试时可以的,这个不是必须
https://packagecloud.io/timescale/timescaledb/packages/el/7/timescaledb-oss-postgresql-11-1.2.2-0.el7.x86_64.rpm
curl -s https://packagecloud.io/install/repositories/timescale/timescaledb/script.rpm.sh | sudo bash
yum install  -y  timescaledb_11 
  • 拷贝扩展内容到edgedb 的目录

    包含sql 定义以及共享库

cp /usr/pgsql-11/share/extension/timescaledb*  /usr/share/edgedb-1-alpha1/postgresql/extension/
cp /usr/pgsql-11/lib/timescaledb-*. /usr/lib64/edgedb-1-alpha1/lib/
  • 启动edgedb

    启动的目的是为了添加pg 配置

echo "shared_preload_libraries = 'timescaledb'" >> /var/lib/edgedb/1-alpha1/data/postgresql.conf
  • 重启edgedb
    添加了以上配置之后,需要进行重启
systemctl restart edgedb-1-alpha1

使用

为了测试我开启了pg 暴露tcp 连接,参考https://www.cnblogs.com/rongfengliang/p/10733079.html

  • 创建一个schema
create schema demoapp;
  • 创建扩展
create extension timescaledb with schema demoapp;
  • 查询pg 扩展
select * from pg_catalog.pg_extension;

效果

plpgsql
uuid-ossp
edbsys
timescaledb

说明

从edgedb 系统的设计,以及查看表机构,尽管timescaledb 扩展安装成功了,但是好多功能具体还能不能使用,还需要测试,
毕竟edgedb 有自身的数据存储逻辑

参考资料

https://www.cnblogs.com/rongfengliang/p/10733079.html
https://packagecloud.io/timescale/timescaledb/packages/el/7/timescaledb-oss-postgresql-11-1.2.2-0.el7.x86_64.rpm
https://edgedb.com/docs/tutorial/install

原文地址:https://www.cnblogs.com/rongfengliang/p/10758392.html