NAME

Pg::CLI::pg_dump - Wrapper for the pg_dump utility

VERSION

version 0.14

SYNOPSIS

my $pg_dump = Pg::CLI::pg_dump->new(
    username => 'foo',
    password => 'bar',
    host     => 'pg.example.com',
    port     => 5433,
);

$pg_dump->run(
    database => 'database',
    options  => [ '-C' ],
);

my $sql;
$pg_dump->run(
    database => 'database',
    options  => [ '-C' ],
    stdout   => \$sql,
);

DESCRIPTION

This class provides a wrapper for the pg_dump utility.

METHODS

This class provides the following methods:

Pg::CLI::pg_dump->new( ... )

The constructor accepts a number of parameters:

  • executable

    The path to pg_dump. By default, this will look for pg_dump in your path and throw an error if it cannot be found.

  • username

    The username to use when connecting to the database. Optional.

  • password

    The password to use when connecting to the database. Optional.

  • host

    The host to use when connecting to the database. Optional.

  • port

    The port to use when connecting to the database. Optional.

  • require_ssl

    If this is true, then the PGSSLMODE environment variable will be set to "require" when connecting to the database.

$pg_dump->run( database => ..., options => [ ... ] )

This method dumps the specified database. Any values passed in options will be passed on to pg_dump.

This method also accepts optional stdin, stdout, and stderr parameters. These parameters can be any defined value that could be passed as the relevant parameter to IPC::Run3's run3 subroutine.

Notably, you can capture the dump output in a scalar reference for the stdout output.

$pg_dump->version()

Returns a the three part version as a string.

$pg_dump->two_part_version()

Returns the first two decimal numbers in the version.

SUPPORT

Bugs may be submitted at http://rt.cpan.org/Public/Dist/Display.html?Name=Pg-CLI or via email to [email protected].

I am also usually active on IRC as 'autarch' on irc://irc.perl.org.

SOURCE

The source code repository for Pg-CLI can be found at https://github.com/houseabsolute/Pg-CLI.

AUTHOR

Dave Rolsky <[email protected]>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Dave Rolsky.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)

The full text of the license can be found in the LICENSE file included with this distribution.