The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Config::Pg::ServiceFile - PostgreSQL connection service file parser

SYNOPSIS

    # ~/.pg_service.conf

    [foo]
    host=localhost
    port=5432
    user=foo
    dbname=db_foo
    password=password

    # your_program.pl

    use Config::Pg::ServiceFile;

    # {
    #     foo => {
    #         host     => 'localhost',
    #         post     => '5432',
    #         user     => 'foo',
    #         dbname   => 'db_foo',
    #         password => 'passwird',
    #     }
    # }
    my $hash_ref = Config::Pg::ServiceFile->read_file('~/.pg_service.conf');

DESCRIPTION

Config::Pg::ServiceFile is a parser for the PostgreSQL connection service file. The connection service file is based on the INI format, but uses a # as the comment character. As such, this is a simple module that subclasses Config::INI::Reader, and replaces the comment character accordingly.

The accompanying module Pg::ServiceFile provides a better interface to the data stored in a PostgreSQL connection file. See Pg::ServiceFile for more information.

METHODS

Config::Pg::ServiceFile inherits all methods from Config::INI::Reader.

read_file

    my $hash_ref = Config::Pg::ServiceFile->read_file($filename);

Given a filename, this method returns a hashref of the contents of that file.

read_handle

    my $hash_ref = Config::Pg::ServiceFile->read_handle($io_handle);

Given an IO::Handle, this method returns a hashref of the contents of that handle.

read_string

    my $hash_ref = Config::INI::Reader->read_string($string);

Given a string, this method returns a hashref of the contents of that string.

AUTHOR

Paul Williams <kwakwa@cpan.org>

COPYRIGHT

Copyright 2018- Paul Williams

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

Config::INI::Reader, Pg::ServiceFile, https://www.postgresql.org/docs/current/static/libpq-pgservice.html, https://github.com/postgres/postgres/blob/master/src/interfaces/libpq/fe-connect.c.