I want to start the Postgres database I run this:

$ postgres -D foobar


It just hangs.  There is no error message.  I newly created this database with the initdb command.  What should I do?
From the INSTALL document

                                Short Version

./configure
make
su
make install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data &gt;logfile 2&gt;&amp;1 &amp;
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test


So, 

initdb initialises the system after the binaries have been put in place, either through an rpm or a source compile.

postgres launches the server (which is what you're trying to do)

createdb xyz creates a database of name xyz

psql is the command-line client

You could try 

./bin/pg_ctl -D ./data/ -l logfile start


On running initdb, you should have received a message

===========================

Success. You can now start the database server using:

./bin/postgres -D ./data/


or

./bin/pg_ctl -D ./data/ -l logfile start


===========================

What I can suggest to you is to run the pg_ctl option - it's the one that I use, for what it's worth.

You appear to have confused the server command with a database access command. You should run psql foobar to access the foobar database, provided the server is already running - see above how to do that.