Итак, проблема: Вы (пере-)устанавливаете PostgreSQL под Windows Vista, и он выдаёт какие-то ошибки во время установки и не ставится или ставится но не запускается.
Поскольку подразумевается, что раз Вы ставите PostgreSQL, значит Вы готовы сделать это еще раз.

И по этому пути мы пойдем.

1. Удалите установленный PostgreSQL через стандартные "компоненты".

Теперь будем чистить компьютер:

2. Проверяем - не остался ли пользователь postgres, и если остался, надо его удалить.
Для этого в меню "пуск" в поиске пишем cmd, и появившуюся программу запускаем от имени администратора (сорри, скрины лениво делать). В появившемся окне пишем просто:

net user postgres /del


нажимаем "Enter"

Закрываем программу и идем дальше:

3. Открываем путь c:/windows/system32/drivers/etc/, в этом каталоге открываем блокнотом файл hosts, и в этом файле смотрим прописана ли следующая строчка:

127.0.0.1 localhost


(обратите внимание - строчка должна быть именно такой - без "#").

Если не прописана, то вписываем её в конец и сохраняем файл.

После этого перегружаем компьютер.

После перезагрузки, запускаем установку PostgreSQL так же от имени администратора.

Я использовал для установки "single click installer" с которым проблем быть не должно.

И вот тут проблема возникла уже у меня: После установки отказался запускаться сервис. Я долго лазил по интернету - но все советы сводились к предыдущим двум, пока я не понял что проблема банальна: Я ставил Postgres на диск C, а вот данные я сказал ставить в другое место - и в папке в которую постгрес должен был писать данные не было прав доступа для пользователя postgres. Просто щелкаем правой кнопкой по папке в которую мы сказали ставить базу, дальше "безопасность (security)" -> Изменить -> в верхнем списке выделяем пользователя Postgres, в нижней - полный доступ (full access).

Автор - Дмитрий Попов (с) оригинал в блоге