TimescaleDB 项目教程
timescaleTimescaleDB made easy with Ecto项目地址:https://gitcode.com/gh_mirrors/ti/timescale
1. 项目的目录结构及介绍
TimescaleDB 是一个开源的时间序列数据库,作为 PostgreSQL 的扩展进行打包。以下是其基本的目录结构:
timescaledb/
├── sql/
│ ├── init.sql
│ ├── hypertable.sql
│ └── ...
├── src/
│ ├── chunk.c
│ ├── hypertable.c
│ └── ...
├── tests/
│ ├── sql/
│ ├── src/
│ └── ...
├── README.md
├── LICENSE
├── Makefile
└── ...
- sql/: 包含初始化和创建超表(hypertable)的 SQL 文件。
- src/: 包含主要的源代码文件,如 chunk 和 hypertable 的实现。
- tests/: 包含测试文件,用于确保代码的正确性。
- README.md: 项目的基本介绍和使用说明。
- LICENSE: 项目的开源许可证。
- Makefile: 用于编译和安装项目的 Makefile。
2. 项目的启动文件介绍
TimescaleDB 的启动文件主要是 init.sql
,它位于 sql/
目录下。这个文件包含了初始化 TimescaleDB 扩展所需的 SQL 命令。以下是 init.sql
的基本内容:
-- 创建扩展
CREATE EXTENSION timescaledb;
-- 创建超表
CREATE TABLE conditions (
time TIMESTAMPTZ NOT NULL,
location TEXT NOT NULL,
temperature DOUBLE PRECISION NULL
);
SELECT create_hypertable('conditions', 'time');
- CREATE EXTENSION timescaledb: 用于在 PostgreSQL 中启用 TimescaleDB 扩展。
- CREATE TABLE conditions: 创建一个标准的 SQL 表。
- SELECT create_hypertable('conditions', 'time'): 将标准表转换为 TimescaleDB 的超表。
3. 项目的配置文件介绍
TimescaleDB 的配置文件主要是 postgresql.conf
,它通常位于 PostgreSQL 的安装目录下。以下是一些常见的配置项:
shared_preload_libraries = 'timescaledb'
max_connections = 100
shared_buffers = 1GB
work_mem = 64MB
maintenance_work_mem = 256MB
effective_cache_size = 2GB
- shared_preload_libraries: 预加载 TimescaleDB 库。
- max_connections: 最大连接数。
- shared_buffers: 共享内存缓冲区大小。
- work_mem: 工作内存大小。
- maintenance_work_mem: 维护工作内存大小。
- effective_cache_size: 有效缓存大小。
这些配置项可以根据服务器的资源和需求进行调整,以优化 TimescaleDB 的性能。
timescaleTimescaleDB made easy with Ecto项目地址:https://gitcode.com/gh_mirrors/ti/timescale