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

NAME

Search::InvertedIndex::DB::Pg - A Postgres backend for Search::InvertedIndex.

SYNOPSIS

  use Search::InvertedIndex;
  use Search::InvertedIndex::DB::Pg;

  my $db = Search::InvertedIndex::DB::Pg->new(
        -db_name    => "testdb",
        -hostname   => "test.example.com",
        -port       => 5432,
        -username   => "testuser",
        -password   => "testpass",
        -table_name => "siindex",
        -lock_mode  => "EX",
  );

  my $map = Search::InvertedIndex->new( -database => $db );

DESCRIPTION

An interface allowing Search::InvertedIndex to store and retrieve data from a PostgreSQL database. All the data is stored in a single table, which will be created automatically if it does not exist when new is called.

METHODS

new
  my $db = Search::InvertedIndex::DB::Pg->new(
        -db_name    => "testdb",
        -hostname   => "test.example.com",
        -port       => 5432,
        -username   => "testuser",
        -password   => "testpass",
        -table_name => "siindex",
        -lock_mode  => "EX",
  );

-db_name and -table_name are mandatory. -lock_mode defaults to EX. -port is optional and defaults to not being specified..

open
  $db->open;

Opens the database in the mode specified when new was called. Croaks on error, returns true otherwise. Trying to open a nonexistent database/table combination in SH mode is considered to be an error. Opening an already-open database/table combination isn't.

lock
  $db->lock( -lock_mode => "EX" );

The -lock_mode parameter is required; allowed values are EX, SH and UN. Returns true on success; croaks on error.

status
  my $opened = $db->status( "-open" );
  my $lock_mode = $db->status( "-lock_mode" );

Allowed requests are -open and -lock_mode. -lock_mode can only be called on an open database. -lock is a synonym for -lock_mode. Croaks if sent an invalid request, or on error.

put
  $db->put( -key => "foo", -value => "bar" );

Both parameters are mandatory. Any others will be silently ignored. Returns true on success and false on error.

get
  my $value = $db->get( -key => "foo" );

Croaks if no -key supplied.

delete
  $db->delete( -key => "foo" );
close
  $db->close;
clear
  $db->clear;

Clears out all indexing data.

AUTHOR

Kate L Pugh <kake@earth.li>, based on Search::InvertedIndex::DB::Mysql by Michael Cramer and Search::InvertedIndex::DB::DB_File_SplitHash by Benjamin Franz.

COPYRIGHT

     Copyright (C) 2003-4 Kake Pugh.  All Rights Reserved.

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

CREDITS

Module based on work by Michael Cramer and Benjamin Franz. Patch from Cees Hek.

SEE ALSO

Search::InvertedIndex