NAME
Hailo::Storage::DBD::Pg - A storage backend for Hailo using DBD::Pg
SYNOPSIS
First create a PostgreSQL database for failo:
# Run it as a dedicated hailo user
createdb -E UTF8 -O hailo hailo
# Just create database..
createdb -E UTF8 hailo
As a module:
my $hailo = Hailo->new(
train_file => 'hailo.trn',
storage_class => 'Pg',
storage_args => {
dbname => 'hailo',
},
);
Or with complex connection options:
my $hailo = Hailo->new(
train_file => 'hailo.trn',
storage_class => 'Pg',
storage_args => {
dbname => 'hailo',
host => 'localhost',
port => '5432',
options => '...',
username => 'hailo',
password => 'hailo'
},
);
From the command line:
hailo --train hailo.trn \
--storage Pg \
--storage-args dbname=hailo
Or with complex connection options:
hailo --train hailo.trn \
--storage Pg \
--storage-args dbname=hailo \
--storage-args host=localhost \
--storage-args port=5432 \
--storage-args options=... \
--storage-args username=hailo \
--storage-args password=hailo
Almost all of these options can be omitted, see DBD::Pg's documentation for the default values.
See Hailo's documentation for other non-Pg specific options.
DESCRIPTION
This backend maintains information in a PostgreSQL database.
ATTRIBUTES
storage_args
This is a hash reference which can have the following keys:
'dbname', the name of the database to use (required).
'host', the host to connect to (required).
'port', the port to connect to (required).
'options', additional options to pass to PostgreSQL.
'username', the username to use.
'password', the password to use.
CAVEATS
It's around 8x-10x slower than the SQLite backend in my tests. Maybe this is due to an unoptimal PostgreSQL configuration (I used the Debian defaults) or perhaps the schema we're using simply suits SQLite better.
AUTHOR
Ævar Arnfjörð Bjarmason <avar@cpan.org>
LICENSE AND COPYRIGHT
Copyright 2010 Ævar Arnfjörð Bjarmason.
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.