> смена БД бывает крайне редко
Конечно это все зависит от проекта/команды, но у нас вполне нормально было переезжать между БД: Postgres -> Mongo -> Cassandra
На Посторес проще всего сделать прототип, а потом переехать на что-то более подходящее.
> при смене БД придется все равно логику работы пересматривать
Обычно это признак плохого проектирования, если детали реализации протекают в бизнес-логику. Чем больше надо переписать - тем хуже было продумано.