Generate sales data for PostgreSQL
Project description
PostgreSQL Sales Generator
PostgreSQL Sales Generator
Table of Contents
- Prerequisites
- Install
- Usage with Claude
- Usage with Visual Studio Code Insiders
- Write Operations
- Release Notes
- For More Information
- License
Prerequisites
- Python 3.14 and above
- This module runs on psycopg
Install
- with brew
brew tap rioriost/pg-salesgen
brew install pg-salesgen
Usage
[pg-salesgen --help](usage: pg-salesgen [--help] [--dsn DSN] [-h HOST] [-p PORT] [-U USER]
[-d DBNAME] [--password PASSWORD] [--sslmode SSLMODE]
[--options OPTIONS] [--print-psql] [--logged] [--with-fk]
[--create-indexes] [--customers CUSTOMERS]
[--products PRODUCTS] [--target-gb TARGET_GB]
[--workers WORKERS] [--batch-orders BATCH_ORDERS]
[--avg-items AVG_ITEMS] [--max-items MAX_ITEMS]
[--order-note-len ORDER_NOTE_LEN]
[--item-note-len ITEM_NOTE_LEN] [--start-date START_DATE]
[--end-date END_DATE] [--unit-price-min UNIT_PRICE_MIN]
[--unit-price-max UNIT_PRICE_MAX] [--tax-rate TAX_RATE]
[--shipping-threshold SHIPPING_THRESHOLD]
[--shipping-fee SHIPPING_FEE]
[--progress-interval PROGRESS_INTERVAL] [--seed SEED]
[--order-id-stride ORDER_ID_STRIDE]
[--copy-orders-buf-mb COPY_ORDERS_BUF_MB]
[--copy-items-buf-mb COPY_ITEMS_BUF_MB]
[--join-timeout-sec JOIN_TIMEOUT_SEC]
Empty DB -> create schema/tables -> fill masters -> generate sales-like data FAST.
options:
--help, -? show this help message and exit
--dsn DSN libpq DSN. Overrides -h/-p/-U/-d.
-h, --host HOST database server host or socket directory (psql
compatible).
-p, --port PORT database server port (psql compatible).
-U, --user USER database user name (psql compatible).
-d, --dbname DBNAME database name (psql compatible).
--password PASSWORD database password (or use PGPASSWORD env / .pgpass).
--sslmode SSLMODE sslmode (require, verify-full, etc.).
--options OPTIONS libpq options string (e.g., "-c statement_timeout=0").
--print-psql Print equivalent psql command and exit.
--logged Create LOGGED tables (default UNLOGGED for speed).
--with-fk Create foreign keys (slower).
--create-indexes Create typical indexes + ANALYZE after load.
--customers CUSTOMERS
Number of customers to generate.
--products PRODUCTS Number of products to generate.
--target-gb TARGET_GB
Target size (orders+items) in GB.
--workers WORKERS Number of worker processes.
--batch-orders BATCH_ORDERS
Orders per batch per worker.
--avg-items AVG_ITEMS
Average number of items per order.
--max-items MAX_ITEMS
Max items per order.
--order-note-len ORDER_NOTE_LEN
Order note length.
--item-note-len ITEM_NOTE_LEN
Item note length.
--start-date START_DATE
Start date YYYY-MM-DD (UTC).
--end-date END_DATE End date YYYY-MM-DD (UTC).
--unit-price-min UNIT_PRICE_MIN
Min unit price (cents).
--unit-price-max UNIT_PRICE_MAX
Max unit price (cents).
--tax-rate TAX_RATE Tax rate (e.g., 0.10).
--shipping-threshold SHIPPING_THRESHOLD
Free shipping threshold (cents).
--shipping-fee SHIPPING_FEE
Shipping fee under threshold (cents).
--progress-interval PROGRESS_INTERVAL
Seconds between progress prints.
--seed SEED Base RNG seed.
--order-id-stride ORDER_ID_STRIDE
Per-worker order_id stride (must exceed total orders
per worker).
--copy-orders-buf-mb COPY_ORDERS_BUF_MB
COPY buffer for orders (MB).
--copy-items-buf-mb COPY_ITEMS_BUF_MB
COPY buffer for items (MB).
--join-timeout-sec JOIN_TIMEOUT_SEC
If >0, timeout seconds for joining each worker. 0
means wait indefinitely.
)
Release Notes
0.1.0 Release
- Initial release
License
MIT License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pgsalesgen-0.1.0.tar.gz
(10.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pgsalesgen-0.1.0.tar.gz.
File metadata
- Download URL: pgsalesgen-0.1.0.tar.gz
- Upload date:
- Size: 10.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b29e1346923261975009abb447a7bcb5f6172db759bf6f9b22c2fbd090afb8e
|
|
| MD5 |
e54385d2d1321a7681df1909c5576906
|
|
| BLAKE2b-256 |
2d73de5c21595b86c3e0abd1a110977a26ab5475144d2f52700fee9404cabca4
|
File details
Details for the file pgsalesgen-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pgsalesgen-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4898720f81cea2892f160c3ed4cd4272afec1246e253c1238cc751af0b3d2263
|
|
| MD5 |
635f75e9a77233fd74706fd952fc9b82
|
|
| BLAKE2b-256 |
17564ece1b9c9fc1a84263cd1be85e4d0d25a5e053169c2e0a81649e1e9b8319
|