mobilitydb_datagen
mobilitydb : MobilityDB random data generator functions
Overview
| ID | Extension | Package | Version | Category | License | Language |
|---|---|---|---|---|---|---|
| 1651 | mobilitydb_datagen | mobilitydb | 1.3.0 | GIS | GPL-3.0 | SQL |
| Attribute | Has Binary | Has Library | Need Load | Has DDL | Relocatable | Trusted |
|---|---|---|---|---|---|---|
----d-r | No | No | No | Yes | yes | no |
| Relationships | |
|---|---|
| Requires | mobilitydb |
| See Also | mobilitydb postgis timescaledb pgrouting |
| Siblings | mobilitydb |
Packages
| Type | Repo | Version | PG Major Compatibility | Package Pattern | Dependencies |
|---|---|---|---|---|---|
| EXT | PGDG | 1.3.0 | 18 17 16 15 14 | mobilitydb | mobilitydb |
| DEB | PGDG | 1.3.0 | 18 17 16 15 14 | postgresql-$v-mobilitydb | - |
| Linux / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
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 cacheInstall 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 14Create this extension with:
CREATE EXTENSION mobilitydb_datagen CASCADE; -- requires mobilitydbUsage
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
mobilitydbextension;mobilitydb_datagenis not standalone. - The package row in
db/extension.csvlists version1.3.0, packagemobilitydb, 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.