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.