.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "pgFormatter::CLI 3" .TH pgFormatter::CLI 3 2025-09-15 "perl v5.42.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME pgFormatter::CLI \- Implementation of command line program to format SQL queries. .SH VERSION .IX Header "VERSION" Version 5.8 .SH SYNOPSIS .IX Header "SYNOPSIS" This module is called by pg_format program, when it detects it is not being run in CGI environment. In such case all control over flow is passed to this module by calling: .PP .Vb 2 \& my $program = pgFormatter::CLI\->new(); \& $program\->run() .Ve .SH FUNCTIONS .IX Header "FUNCTIONS" .SS new .IX Subsection "new" Object constructor, nothing fancy in here. .SS run .IX Subsection "run" Wraps all work related to pg_format CLI program. This includes calling methods to read command line parameters, validate them, read query, beautify it, and output. .SS beautify .IX Subsection "beautify" Actually formats loaded query using pgFormatter::Beautify library. If necessary runs anonymization. .SS save_output .IX Subsection "save_output" Saves beautified query to whatever is output filehandle .SS logmsg .IX Subsection "logmsg" Display message following the log level .SS show_help_and_die .IX Subsection "show_help_and_die" As name suggests \- shows help page, with optional error message, and ends program. .SS load_sql .IX Subsection "load_sql" Loads SQL from input file or stdin. .SS get_command_line_args .IX Subsection "get_command_line_args" Parses command line options into \f(CW$self\fR\->{\*(Aqcfg\*(Aq}. .SS validate_args .IX Subsection "validate_args" Validates that options parsed from command line have sensible values, opens input and output files. .SH AUTHOR .IX Header "AUTHOR" pgFormatter is an original work from Gilles Darold .SH BUGS .IX Header "BUGS" Please report any bugs or feature requests to: https://github.com/darold/pgFormatter/issues .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright 2012\-2025 Gilles Darold. All rights reserved. .SH LICENSE .IX Header "LICENSE" pgFormatter is free software distributed under the PostgreSQL Licence. .PP A modified version of the SQL::Beautify Perl Module is embedded in pgFormatter with copyright (C) 2009 by Jonas Kramer and is published under the terms of the Artistic License 2.0.