in reply to
Database abstraction including data types
Hardly a complete answer, but handy for the particular true/false problem that you mention is, on the postgres side: $dbh->{pg_bool_tf}, which lets you choose between t/f or 1/0:
$ perl -Mstrict -MDBI -E 'my$dbh=DBI->connect("dbi:Pg:");
$dbh->{pg_bool_tf} = 0; # 1/0
print $dbh->selectall_arrayref("select 1=1")->[0]->[0], "\n";
$dbh->{pg_bool_tf} = 1; # t/f
print $dbh->selectall_arrayref("select 1=1")->[0]->[0], "\n"; #
'
output:
1
t
(See DBD::Pg $dbh attributes.)