One command to safely copy production data
Fast PostgreSQL export with built-in anonymization
→ Safely copy production data into dev/test environments in seconds
→ No data leaks. No complex setup. Just one command.
Working with real data in development is painful:
- ❌ You can’t use production data (PII, GDPR, security risks)
- ❌
pg_dumpcreates full dumps without anonymization - ❌ Manual masking scripts are fragile and time-consuming
- ❌ Hard to create realistic dev/test datasets safely
PgSafeExport solves this.
- High-performance export via PostgreSQL COPY
- Parallel processing (multi-table export)
- Deterministic anonymization
- Selective export (tables, filters)
- Simple YAML masking configuration
- Dry-run mode
- Optional ZIP output
- Export report with metrics
| Feature | pg_dump | PgSafeExport |
|---|---|---|
| Speed | ✅ Faster for selective export | |
| Parallel export | ✅ Built-in | |
| Anonymization | ❌ | ✅ |
| Partial export | ❌ | ✅ |
| Dev-ready datasets | ❌ | ✅ |
pg_dump is great for backups, but PgSafeExport is designed for safe data cloning into dev/test environments
pgsafe export
--conn "Host=localhost;Database=mydb;Username=postgres;Password=postgres"
--out ./dump
--mask mask.yaml
Download the latest release:
https://github.com/RomanShevel1977/PgSafeExport/releases
tables: users: columns: email: fake_email full_name: fake_name phone: fake_phone
Before: john.doe@gmail.com
After: user_a83f91@example.test
- Safe production → development data cloning
- QA environments
- GDPR workflows
MIT License