This one is for everybody doesn't like to read documentation. (Or, at least, for me.)
I recently got a copy of OS X Server, hoping to use it to set up an Xcode CI server. From past projects I had PostgreSQL 8.4 running on the localhost, listening on port 5432.
When I first launched Server.app it would display a setup dialog. Then it would hang for about an hour saying that it was "Preparing Services". Finally it would say that an error had occurred. Thereafter the app would respond very sluggishly to almost every user interaction.
ps showed a few Python processes, all of them trying to connect to a PostgreSQL server. Eventually I remembered my ancient PostgreSQL server.
I exited Server.app, ignoring its warning that it was busy, and moved it to the Trash. A few seconds later an alert appeared recognizing the trashing of the app and reporting that it had been uninstalled (or words to that effect).
With that done, I stopped my postgresql installation via launchctl. Then I moved /Library/Server to /Library/Server.save/, put back Server.app from the Trash, and launched it again.
Things went much better this time.
I should probably have completely removed my postgres installation just to make sure that OS X Server didn't find it by mistake. One step at a time...