ハマった・・・。
PostgreSQLでは接続情報を以下のように文字列で渡す。
$info = 'host=sheep port=5432 dbname=mary user=lamb password=foo';
だが、なぜか接続できない。
apache権限(ブラウザから)で実行すると、エラー。
コンソールで直接実行すると、成功。
以下のようにホスト名とポートを取り除くと成功した。
$info = 'dbname=mary user=lamb password=foo';
なぜ・・・???