Bluehost does not allow TCP/IP connections to Postgres. They also rely on ident information when making the connection from php to Postgres.
Here are the steps that make things work:
#1 create a database mydb
#2 create a database user myuser
#3 add my user to database mydb
#4 in your Drupal directory. edit the files:
includes/install.pgsql.inc
includes/database.pgsql.inc
Look for the block of code that creates the connection string for the pg_connect command. Comment
out the lines that append host and port information to the connection string. You'll comment 2 lines
from each file. See my lines below.
//bluehost $conn_string .= ' host='. urldecode($url['host']);
//bluehost $conn_string .= ' port='. urldecode($url['port']);
Now when you install your new drupal site, php will correctly use unix domain sockets for the connection. Not TCP.