阿飞
阿飞
发布于 2025-08-04 / 29 阅读
0
0

TimescaleDB的docker-compose 启动环境

本文是一个 简单、实用、带TimescaleDB扩展的 docker-compose 启动环境,适合本地测试或小规模开发部署。


🐳 docker-compose.yml 示例(包含 TimescaleDB)

version: '3.8'

services:
  timescaledb:
    image: timescale/timescaledb:latest-pg14  # 可选 pg12/13/14
    container_name: timescaledb
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=your_password
      - POSTGRES_DB=timescaledb
      - PGDATA=/var/lib/postgresql/data/pgdata
    ports:
      - "5432:5432"
    volumes:
      - timescale_data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  timescale_data:

✅ 启动方法

  1. 将上面的内容保存为 docker-compose.yml 文件;

  2. 在终端执行:

docker-compose up -d
  1. 成功后可通过以下信息连接:

参数

host

localhost

port

5432

user

postgres

password

your_password

dbname

timescaledb


🧪 验证 TimescaleDB 安装是否成功

进入容器:

docker exec -it timescaledb psql -U postgres -d timescaledb

在 psql 控制台运行:

CREATE EXTENSION IF NOT EXISTS timescaledb;
\dx

你应该能看到 timescaledb 扩展已加载。


📌 附加建议

1. 启用压缩支持(如需)

TimescaleDB 默认启用压缩功能,使用时只需在表上设置策略(如前面讲到的 add_compression_policy)。

2. 可视化工具(可选)

可以加入 pgAdmin4,用于图形化管理:

  pgadmin:
    image: dpage/pgadmin4
    container_name: pgadmin
    environment:
      - PGADMIN_DEFAULT_EMAIL=admin@example.com
      - PGADMIN_DEFAULT_PASSWORD=admin
    ports:
      - "8080:80"
    volumes:
      - pgadmin_data:/var/lib/pgadmin
    restart: unless-stopped

并在浏览器访问 http://localhost:8080

输入账户admin@example.com,密码admin。

添加服务器

登录成功后,在Servers上右键>Register>Server,点击展示添加数据库界面。

数据库连接信息如下:

  1. host name: 填写timescaledb(注意:因为使用docker compose构建,使用127.0.0.1连接不到postgre数据库)

  2. port: 5432

连接数据库

添加成功后,点击Connect连接数据库,展示如下界面表示连接成功。


🧱 后续可选增强

  • 设置自定义 postgresql.conf(如扩展内存缓存、连接池等)

  • 开启 TimescaleDB Telemetry(可禁用)

  • 加入 Continuous Aggregates 示例表和数据

  • 设置自动压缩策略



评论