libpq.soファイルが存在するのに以下のようなエラーがでてDBD::Pgがうまく動かない場合、/etc/ld.so.confを正しく設定しましょう。
perlからデータベースに接続するにはDBIモジュールを使用します。
DBIx::Class::Schema::Loaderを使用すればスキーマを作成する手間が省ける。
SQL::AbstractはPerlのデータ構造からSQL文を自動で作成してくれるモジュールになります。
通常SELECT文などはprepareしてからexecuteしますが、SELECT以外のステートメントではdo()で代用できます。
fetchall_arrayrefは全てのレコードを取り出し、配列->配列(中身が配列へのリファレンスである配列)を返します。
fetchrow_hashrefはレコード行をハッシュへのリファレンスとして取得します。
カラム名を取得するには $sth->{NAME}を使用すればよい。
ラージオブジェクトのインポートにはlo_importを使用します。
ラージオブジェクトのデータを取得するには、ただ単にSELECTしただけではうまくいきません。以下のように、lo_open, lo_read, lo_closeを使用します。
ラージオブジェクトの削除にはfunc(OID, 'lo_unlink') を使用します。
データベースへラージオブジェクトを書き込む場合、書き込みの処理とOIDを格納する2ステップに分かれます。
$sth->execute の後、$sth->rowsとすればレコードの数を取得することができます。