お世話になります。古城です。
私も以前同じ現象でハマりました。
#psqlでつながるのにDSNじゃつながらないという症状
今そのときのソースがないのでうろ覚えですが
DSNの書き方が原因だったと思います。
肝心のその部分が
>// DBに接続
>$db = DB::connect($dsn);
>if(DB::isError($db)){
> die("接続できませんでした:".$db->getMessage());
>}
$dsnになっていたので詳しく助言できませんが
#ユーザー、パスワードなど書いてるので除外したと思いますが
もう一度DSNの書き方をDBの権限とともに見直されたらどうでしょうか。