Skip to content
mobilitydb_datagen

mobilitydb_datagen

mobilitydb : MobilityDB random data generator functions

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
1651
mobilitydb_datagen
mobilitydb
1.3.0
GIS
GPL-3.0
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

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PGDG
1.3.0
18
17
16
15
14
mobilitydbmobilitydb
DEB
PGDG
1.3.0
18
17
16
15
14
postgresql-$v-mobilitydb-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
MISS
MISS
MISS
MISS
MISS
el8.aarch64
MISS
MISS
MISS
MISS
MISS
el9.x86_64
MISS
MISS
MISS
MISS
MISS
el9.aarch64
MISS
MISS
MISS
MISS
MISS
el10.x86_64
MISS
MISS
MISS
MISS
MISS
el10.aarch64
MISS
MISS
MISS
MISS
MISS
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

Install

Make sure PGDG repo available:

pig repo add pgdg -u    # add pgdg 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