Generate sales data for PostgreSQL
Project description
PostgreSQL Sales Generator
PostgreSQL Sales Generator
Table of Contents
Prerequisites
- Python 3.14 and above
- This module runs on psycopg
Install
- with brew
brew install rioriost/tap/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.
)
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.5.tar.gz
(37.5 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.5.tar.gz.
File metadata
- Download URL: pgsalesgen-0.1.5.tar.gz
- Upload date:
- Size: 37.5 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 |
e93c728a07e77e80bd77396b30c6aa20fbed8e45a4f396417b737d038969478e
|
|
| MD5 |
587f523c2532d51cb27db974619703a6
|
|
| BLAKE2b-256 |
ba1707079b1d5676fe6e682a598a09c599319547c0ada24059866b7c24e63a56
|
File details
Details for the file pgsalesgen-0.1.5-py3-none-any.whl.
File metadata
- Download URL: pgsalesgen-0.1.5-py3-none-any.whl
- Upload date:
- Size: 11.8 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 |
e80b6deed5556d8ef10116ac8e15da9594add583d6ccc9f4b14d172bbdaa9a30
|
|
| MD5 |
bd136fc60e81c72d90a51471ed3db0f8
|
|
| BLAKE2b-256 |
ac8cb64ffd19907bc00d044dff85f7086e284d16c105bbd955cc9fe45b1cf079
|