mobilitydb_datagen

MobilityDB随机数据生成函数

概览

扩展包名版本分类许可证语言
mobilitydb1.3.0GISGPL-3.0SQL
ID扩展名BinLibLoadCreateTrustReloc模式
1650mobilitydb-
1651mobilitydb_datagen-
相关扩展mobilitydb mobilitydb postgis timescaledb pgrouting

版本

类型仓库版本PG 大版本包名依赖
EXTPGDG1.3.01817161514mobilitydbmobilitydb
DEBPGDG1.3.01817161514postgresql-$v-mobilitydb-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64PGDG MISSPGDG MISSPGDG MISSPGDG MISSPGDG MISS
el8.aarch64PGDG MISSPGDG MISSPGDG MISSPGDG MISSPGDG MISS
el9.x86_64PGDG MISSPGDG MISSPGDG MISSPGDG MISSPGDG MISS
el9.aarch64PGDG MISSPGDG MISSPGDG MISSPGDG MISSPGDG MISS
el10.x86_64PGDG MISSPGDG MISSPGDG MISSPGDG MISSPGDG MISS
el10.aarch64PGDG MISSPGDG MISSPGDG MISSPGDG MISSPGDG MISS
d12.x86_64PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0
d12.aarch64PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0
d13.x86_64PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0
d13.aarch64PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0
u22.x86_64PGDG MISSPGDG 1.2.0PGDG 1.2.0PGDG 1.2.0PGDG 1.2.0
u22.aarch64PGDG MISSPGDG 1.2.0PGDG 1.2.0PGDG 1.2.0PGDG 1.2.0
u24.x86_64PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0
u24.aarch64PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0PGDG 1.3.0

安装

您可以直接安装 mobilitydb 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:

pig repo add pgdg -u          # 添加 PGDG 仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

pig install mobilitydb;          # 当前活跃 PG 版本安装
pig ext install -y mobilitydb -v 18  # PG 18
pig ext install -y mobilitydb -v 17  # PG 17
pig ext install -y mobilitydb -v 16  # PG 16
pig ext install -y mobilitydb -v 15  # PG 15
pig ext install -y mobilitydb -v 14  # PG 14
apt install -y postgresql-18-mobilitydb   # PG 18
apt install -y postgresql-17-mobilitydb   # PG 17
apt install -y postgresql-16-mobilitydb   # PG 16
apt install -y postgresql-15-mobilitydb   # PG 15
apt install -y postgresql-14-mobilitydb   # PG 14

创建扩展

CREATE EXTENSION mobilitydb_datagen CASCADE;  -- 依赖: mobilitydb

用法

mobilitydb_datagen: MobilityDB 的合成移动数据生成器

MobilityDB DataGen 提供用于生成合成移动数据的函数,用于测试和基准测试 MobilityDB 工作负载。它可以创建随机的时态值,包括行程、轨迹和时变测量数据。

生成随机时态值

-- 在时间跨度内生成随机时态浮点数
SELECT random_tfloat(
    '2025-06-01 00:00+00', '2025-06-02 00:00+00',  -- 时间跨度
    0.0, 100.0,                                      -- 值范围
    10                                               -- 瞬时值数量
);

-- 生成随机时态几何点(轨迹)
SELECT random_tgeompoint(
    '2025-06-01 08:00+00', '2025-06-01 18:00+00',   -- 时间跨度
    ST_MakeEnvelope(2.2, 48.8, 2.4, 48.9, 4326),    -- 空间范围
    20                                               -- 瞬时值数量
);

生成测试数据集

批量创建测试数据用于行程查询基准测试:

INSERT INTO trips (vehicle_id, trip, trip_date)
SELECT
    i,
    random_tgeompoint(
        '2025-06-01 08:00+00', '2025-06-01 18:00+00',
        ST_MakeEnvelope(2.2, 48.8, 2.5, 48.9, 4326),
        50
    ),
    '2025-06-01'
FROM generate_series(1, 1000) AS i;

最后修改 2026-03-12: update extension pages (f579993)