postgresql安装 timescaledb 时序数据库插件。

这里介绍在docker中的postgresql安装timescaledb时序数据库

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: '3'
services:
timescaledb:
image: timescale/timescaledb:latest-pg11
depends_on:
- postgres

environment:
POSTGRES_DB: tb
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- 5433:5432
volumes:
# 映射 数据库 文件
- ./timescale_data:/var/lib/postgresql/data
networks:
- mynetwork
networks:
mynetwork:

timescale/timescaledb:latest-pg11是 TimescaleDB 扩展的 Docker 镜像,它构建在现有的 PostgreSQL 数据库之上。这个镜像包含了 PostgreSQL 11 的版本,以及 TimescaleDB 扩展。

timescale_data 是PostgreSQL容器映射出来存放数据的路径,可以讲以前的数据全部迁移在这个目录下

如果进行了数据迁移需要进行下面操作启动TimescaleDB扩展。

1、首先修改postgresql.conf中的内容,指定TimescaleDB扩展。

1
shared_preload_libraries = 'timescaledb' 

2、连接数据库运行以下命令安装 TimescaleDB 扩展。

1
CREATE EXTENSION IF NOT EXISTS timescaledb;

3、检查扩展:可以使用以下 SQL 查询来检查是否启用了 TimescaleDB 扩展:

1
SELECT extname FROM pg_extension WHERE extname = 'timescaledb';

使用TimescaleDB

1
2
3
4
5
6
7
8
9
10
-- 先创建一个超表
CREATE TABLE conditions (
time TIMESTAMPTZ NOT NULL,
location TEXT NOT NULL,
temperature DOUBLE PRECISION NULL,
humidity DOUBLE PRECISION NULL
);

-- 把它转换成一个按时间分区的超表
SELECT create_hypertable('conditions', 'time');

更多事例访问https://github.com/timescale/timescaledb#creating-a-hypertable