The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

VERSION

version 0.05

SYNOPSIS

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

  $psql->run(
      database => 'database',
      options  => [ '-c', 'DELETE FROM table' ],
  );

  $psql->execute_file(
      database => 'database',
      file     => 'thing.sql',
  );

DESCRIPTION

This class provides a wrapper for the psql utility.

METHODS

This class provides the following methods:

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

The constructor accepts a number of parameters:

  • executable

    The path to psql. By default, this will look for psql 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.

  • quiet

    This defaults to true. When true, the "-q" flag is passed to psql whenever it is executed.

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

This method runs a command against the specified database. You must pass one or more options that indicate what psql should do.

$psql->execute_file( database => ..., file => ... )

This method executes the specified file against the database. You can also pass additional options via the options parameter.

$psql->version()

Returns a the three part version as a string.

$psql->two_part_version()

Returns the first two decimal numbers in the version.

BUGS

See Pg::CLI for bug reporting details.

AUTHOR

Dave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSE

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

This is free software, licensed under:

  The Artistic License 2.0