psql-plus - Utility to enhance the functionality of psql
echo EXPLAIN SELECT * FROM <table> | psql -d <database> | psql-plus --printf "%n" psql -d database \o|psql-plus --printf "%n" EXPLAIN SELECT * FROM <table> EXPLAIN SELECT * FROM <other table> ^D psql-plus --dom-char x --printf "%d"
%n = name %s = src %d = dom_level ( see notes below ) %e* explain/estimate %a* actual %es = Estimate startup %et = Estimate total %er = Estimate rows %ew = Estimate width %as = Actual (time) Startup %at = Actual (time) Total %ar = Actual Rows %al = Actual Loops
* dom_level: If you run an explain this is the whitespace significant portion from the left-margin to the first \S.
%n = Info name %v = Info verbose (not currently further parsed) %s = Source (unmodified)
This is currently just a script for the PSQL::Query library. All of the voodoo happens there.
Roadmap to .01:
automatic opt-in posting to pastbins (DWIM). syn: --pastbin [rafb|sial|pastbin]
--pastbin [rafb|sial|pastbin]
the ability to return a url only when posting to a pastbin. syn: --url-only
--url-only
XML exportation syn: --format=XML / syntax highlighting (tentative)
--format=XML
Roadmap to .02:
expansion of PSQL:: to encompass more postgres-specific functionality, the use of a new lib other than PSQL::Query
Email me they will get fixed in .05 seconds, or you can sue someone else.
Currently limited to "Enhancing" only the functionality of EXPLAIN and EXPLAIN ANALYZE
Artistic or GPL, like 99.9% of CPAN-distributed stuff.
CPAN
http://repo.or.cz/w/Pqsl-Perl.git
Evan Carroll <me at evancarroll.com>
To install PSQL::Query, copy and paste the appropriate command in to your terminal.
cpanm
cpanm PSQL::Query
CPAN shell
perl -MCPAN -e shell install PSQL::Query
For more information on module installation, please visit the detailed CPAN module installation guide.