How to enable TCP/IP for Postgres on OS X 10.7 Server?
The Postgres process started by "serveradmin" has command-line arguments added by /System/Library/LaunchDaemons/org.postgresql.postgres.plist.  The default includes -c listen_addresses=, which turns off TCP/IP.

Changing it to listen_addresses=localhost, and restarting Postgres, solved the problem.  (I suppose I could probably also remove the -c argument entirely.)

(One comment I found somewhere suggested that in 10.8 Server, the file you need to edit is /Library/Server/PostgreSQL/Config/org.postgresql.postgres.plist, but I haven't upgraded to 10.8 yet so I can't confirm this.)