Skip to content
mobilitydb_datagen

mobilitydb_datagen

mobilitydb : MobilityDB random data generator functions

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
1651
mobilitydb_datagen
mobilitydb
1.3.0
GIS
PostgreSQL
SQL
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
----d-r
No
No
No
Yes
yes
no
Relationships
Requires
mobilitydb
See Also
mobilitydb
postgis
timescaledb
pgrouting
Siblings
mobilitydb

Companion extension shipped in the mobilitydb package; requires mobilitydb and shares the same RPM/DEB platform matrix.

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
MIXED
1.3.0
18
17
16
15
14
mobilitydbmobilitydb
RPM
PIGSTY
1.3.0
18
17
16
15
14
mobilitydb_$vpostgis36_$v
DEB
PGDG
1.3.0
18
17
16
15
14
postgresql-$v-mobilitydbpostgresql-$v-postgis-3
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
el8.aarch64
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
el9.x86_64
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
el9.aarch64
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
el10.x86_64
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
el10.aarch64
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
PIGSTY 1.3.0
d12.x86_64
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
d12.aarch64
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
d13.x86_64
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
d13.aarch64
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
u22.x86_64
MISS
PGDG 1.2.0
PGDG 1.2.0
PGDG 1.2.0
PGDG 1.2.0
u22.aarch64
MISS
PGDG 1.2.0
PGDG 1.2.0
PGDG 1.2.0
PGDG 1.2.0
u24.x86_64
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
u24.aarch64
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
u26.x86_64
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
u26.aarch64
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0
PGDG 1.3.0

Source

pig build pkg mobilitydb;		# build rpm

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install mobilitydb;		# install via package name, for the active PG version
pig install mobilitydb_datagen;		# install by extension name, for the current active PG version

pig install mobilitydb_datagen -v 18;   # install for PG 18
pig install mobilitydb_datagen -v 17;   # install for PG 17
pig install mobilitydb_datagen -v 16;   # install for PG 16
pig install mobilitydb_datagen -v 15;   # install for PG 15
pig install mobilitydb_datagen -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION mobilitydb_datagen CASCADE; -- requires mobilitydb

Usage

Sources: repository, synthetic data generator docs, control file, temporal generators, temporal point generators

mobilitydb_datagen provides PL/pgSQL functions for generating synthetic PostgreSQL, PostGIS, and MobilityDB values. It is mainly useful for regression data, demos, and benchmark fixtures that need random temporal values or trajectories.

-- After the main MobilityDB extension is loaded:
CREATE EXTENSION mobilitydb_datagen;

Generating Random Temporal Values

-- A random temporal float sequence.
SELECT random_tfloat_seq(
    -100.0, 100.0,                                  -- value bounds
    '2025-06-01 00:00+00', '2025-06-02 00:00+00',  -- time bounds
    10.0,                                           -- max value delta
    10,                                             -- max minutes between instants
    5, 10                                           -- min/max instants
);

-- Step interpolation instead of the default linear interpolation.
SELECT random_tfloat_seq(
    -100.0, 100.0,
    '2025-06-01 00:00+00', '2025-06-02 00:00+00',
    10.0, 10, 5, 10,
    false
);

-- A random temporal geometry point sequence.
SELECT asEWKT(
    random_tgeompoint_contseq(
        2.20, 2.50, 48.80, 48.95,                  -- x/y bounds
        '2025-06-01 08:00+00', '2025-06-01 18:00+00',
        0.02, 5, 20, 40,                           -- max delta, max minutes, min/max instants
        srid => 4326
    )
);

Other confirmed generator families include scalar helpers such as random_bool, random_int, random_float, random_text, and random_timestamptz; array, set, span, and range helpers; temporal helpers such as random_tbool_inst, random_tint_discseq, random_tfloat_seq, and random_tfloat_seqset; and spatial/temporal-point helpers such as random_geom_point, random_geom_linestring, random_tgeompoint_contseq, random_tgeompoint_seqset, random_tgeogpoint_contseq, and random_tgeogpoint_seqset.

Generating Test Datasets

Create bulk test data for benchmarking trip queries:

CREATE TABLE trip_samples AS
SELECT
    vehicle_id,
    random_tgeompoint_contseq(
        2.20, 2.50, 48.80, 48.95,
        '2025-06-01 08:00+00', '2025-06-01 18:00+00',
        0.02, 5, 20, 40,
        srid => 4326
    ) AS trip
FROM generate_series(1, 1000) AS vehicle_id;

Caveats

  • The control file requires the main mobilitydb extension; mobilitydb_datagen is not standalone.
  • The package row in db/extension.csv lists version 1.3.0, package mobilitydb, and PostgreSQL support for 14 through 18.
  • Upstream docs intentionally omit detailed parameter lists for many generator functions and point users to the SQL source files for exact signatures.
Last updated on