So I'm at a complete loss here.
Upgraded to 3.2.2 on a Mavericks install, and I had the dreaded error with postgres not starting (as symptomized by Profile Manager not running). Realizing that the last backup was not available I immediately panicked, and started googling. I have over 200 iPads out of physical reach that is enrolled with this computer, and the thought of having to re-enroll them all is a horrible nightmare.
So I found this thread, confirmed that I had the directory/directories error in my logs, and sighed a relief thinking there might be a fix. Changed the line in the config, and postgres immediately started by itself (no I didn't stop it to begin with). Quickly realized that the data had already been migrated as I got the ""Old cluster data and binary directories are from different major versions."" mesage, and went to check, but I still had the error in Server.app (Error Reading Settings).
I see I'm also having a ton of errors in the xpostgres.log file, the same as a few other users here:
2014-11-10 11:48:53 XPG.914: Spawning... ('/usr/bin/tar', '-xz', '-f', '/Library/Server/ProfileManager/Config/ServiceData/Data/backup/base_backup/base _complete.tar.gz', '-C', '/Library/Server/ProfileManager/Config/ServiceData/Data/PostgreSQL')
2014-11-10 11:48:55 XPG.914: Preparing to upgrade outdated database cluster.
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twi sted/internet/defer.py", line 397, in errback
self._startRunCallbacks(fail)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twi sted/internet/defer.py", line 464, in _startRunCallbacks
self._runCallbacks()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twi sted/internet/defer.py", line 551, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twi sted/internet/defer.py", line 1101, in gotResult
_inlineCallbacks(r, g, deferred)
--- <exception caught here> ---
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twi sted/internet/defer.py", line 1043, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twi sted/python/failure.py", line 382, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/Applications/Server.app/Contents/ServerRoot/usr/bin/xpostgres", line 2033, in main
result = yield xpg.do_everything(argv, environ)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twi sted/internet/defer.py", line 1043, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twi sted/python/failure.py", line 382, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/Applications/Server.app/Contents/ServerRoot/usr/bin/xpostgres", line 1094, in do_everything
yield self.do_restore()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twi sted/internet/defer.py", line 1045, in _inlineCallbacks
result = g.send(result)
File "/Applications/Server.app/Contents/ServerRoot/usr/bin/xpostgres", line 1028, in do_restore
did_upgrade = self.upgrade_cluster_if_needed()
File "/Applications/Server.app/Contents/ServerRoot/usr/bin/xpostgres", line 1455, in upgrade_cluster_if_needed
os.rename(self.data_directory, orig_data_dir)
exceptions.OSError: [Errno 66] Directory not empty