A CLI tool for generating realistic PostgreSQL workloads. Creates schemas for fictional applications, populates them with test data, and runs load simulations with temporal usage patterns.
- 7 Applications: TPC-based (wholesale, analytics, brokerage, retail) and pgvector-based (ecommerce, knowledgebase, docmgmt)
- 4 Usage Profiles: Simulate local office, global enterprise, and e-commerce traffic patterns
- Realistic Patterns: Time-of-day variations, weekend differences, session simulation
- Configurable Scale: Target specific database sizes (MB to TB)
- Live Statistics: Real-time throughput and latency reporting
# Initialize database with 5GB of wholesale data
pgedge-loadgen init \
--app wholesale \
--size 5GB \
--connection "postgres://user:pass@localhost:5432/mydb"
# Run load simulation with 50 connections
pgedge-loadgen run \
--app wholesale \
--connections 50 \
--profile local-office \
--connection "postgres://user:pass@localhost:5432/mydb"Download from releases or build from source:
git clone https://github.com/pgEdge/pgedge-loadgen.git
cd pgedge-loadgen
make build| Application | Based On | Workload | Description |
|---|---|---|---|
wholesale |
TPC-C | OLTP | Orders, inventory, payments |
analytics |
TPC-H | OLAP | Analytical queries on sales |
brokerage |
TPC-E | Mixed | Stock trading simulation |
retail |
TPC-DS | Decision Support | Multi-channel retail |
ecommerce |
pgvector | Semantic Search | Product catalog with AI search |
knowledgebase |
pgvector | Semantic Search | FAQ with article similarity |
docmgmt |
pgvector | Semantic Search | Document management |
| Profile | Description |
|---|---|
local-office |
Business hours (8AM-6PM) with lunch/break dips |
global |
24/7 operation with rolling global peaks |
store-regional |
Regional e-commerce with evening peak |
store-global |
Global retail with multi-region peaks |
Copyright 2025 - 2026, pgEdge, Inc. See LICENCE.md for details.