Changelog¶
All notable changes to pg will be documented in this file.
[1.1.0] - 2025-08-12¶
✨ Enhanced User Experience¶
New Features:
- Per-command help system -
pg <command> helpshows command-specific help and available subcommands (e.g.,pg dump help) - Man page support - comprehensive manual accessible via
man pg - PostgreSQL License identification - explicit license mention in documentation and license file
- Simplified logging system - streamlined verbosity with
--pg-verboseflag andPG_VERBOSEenvironment variable
Improvements:
- Command naming consistency - alias
pg importcreatedpg dump restore - Command naming consistency - alias
pg export db|allcreatedpg dump db|all
Documentation:
- Fixed "Connection Priority" section in basic usage documentation
- Enhanced license clarity across all project files
Technical Enhancements:
- Improved error detection - script now fails fast on undefined variables and command failures
- Better pipeline error handling - all commands in pipelines now properly report failures
- Conflict-free verbosity - logging flags won't interfere with underlying PostgreSQL tool options
- Flag conflict resolution - resolved
--dry-runconflict withpg_combinebackupusing--pg-dry-run - Package installation - automating package creation for deb and rpm
[1.0.0] - 2025-08-05¶
🎉 Initial Release¶
Core Features:
- Unified interface for all PostgreSQL client tools
- Service file support (
-sflag) for elegant connection management - Multiple connection methods (service files, connection strings, individual flags)
- Consistent command structure across all PostgreSQL tools
- Zero dependencies - pure bash implementation
Supported Tools:
- Query:
psql(interactive terminal) - Dump:
pg_dump,pg_dumpall,pg_restore(logical exports/imports) - Backup:
pg_basebackup,pg_combinebackup,pg_verifybackup(physical backups) - Maintenance:
vacuumdb,reindexdb,clusterdb,pg_amcheck - Management:
createdb,dropdb,createuser,dropuser - Streaming:
pg_receivewal,pg_recvlogical - Utilities:
pgbench,pg_isready,pg_config,ecpg
Connection Options:
-c, --connection-string- LibPQ connection strings-s, --service- Service file entries (recommended)-h, --host- Database host-p, --port- Database port-d, --database- Database name-u, --user- Username
General Features:
- Dry run mode (
-n, --dry-run) - preview commands without execution - Logging system with 5 levels (quiet, error, warning, info, debug)
- Help integration -
pg <command> <subcommand> --helpshows PostgreSQL tool help - Argument preservation - proper quoting and escaping for complex arguments
- Environment variable support - respects standard PostgreSQL variables
Smart Behaviors:
- Connection method enforcement - prevents mixing incompatible options
- Flag conflict resolution - handles PostgreSQL tool flag conflicts
- Argument order validation - ensures connection options come before tool options
- Help bypass -
--helparguments skip connection requirements
Error Handling:
- Connection validation with clear error messages
- Command validation with usage hints
- Exit code preservation from underlying PostgreSQL tools
The format is based on Keep a Changelog.