Skip to main content

Generate sales data for PostgreSQL

Project description

PostgreSQL Sales Generator

License Python

PostgreSQL Sales Generator

Table of Contents

Prerequisites

  • Python 3.14 and above
  • This module runs on psycopg

Install

  • with brew
brew tap rioriost/tap
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.4 Release

  • Move formula to rioriost/tap

0.1.3 Release

  • Dependency update

0.1.2 Release

  • Dependency update

0.1.1 Release

  • Fix formula, pyproject.toml, and so on

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.4.tar.gz (36.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pgsalesgen-0.1.4-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file pgsalesgen-0.1.4.tar.gz.

File metadata

  • Download URL: pgsalesgen-0.1.4.tar.gz
  • Upload date:
  • Size: 36.6 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

Hashes for pgsalesgen-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ef58a207d168c74af8fc55f79f4f6dc33acfaf5fc7d6a04f8f7d4b8b0e488a01
MD5 8c52392ebc58790f2995efcf660a4ba0
BLAKE2b-256 04c5a0b43c8e65d59802a10f3a5b48c5e93586b2d16fd9ad571f8c501baa6053

See more details on using hashes here.

File details

Details for the file pgsalesgen-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: pgsalesgen-0.1.4-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

Hashes for pgsalesgen-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bf928c090fa879236056f2fd388ef5cc24949dc46a9cad04381eec5ff4f9768a
MD5 e4c961bd358a01510350e3cfab27a00e
BLAKE2b-256 7760c7a07abf12ac54caf81f0629635e954fdd4469720fd6565e54a3ab60b8ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page