Задачи примерно одинаковые. Для интернет магазина подойдет любая. Обе СУБД проверенны временем и используются в том числе на крупных и highload проектах.
Для дешевых сайтов лучше MySQL, т.к. есть на любом хостинге. Т.е. если вы пишите коробочную CMS на PHP, то лучше MySQL. Если облачный конструктор сайтов, то без разницы.
MySQL поддерживает и транзакции и полнотекстовый поиск и гео данные, но что-то релизовано в движке MyISAM, а что-то в InnoDB. Т.е. если нам надо и то и то, то придется юзать разные движки на таблицы, а это ломает например ссылочную целостность. В простгресе один движек и все это есть.
У MySQL еще некоторое время назад был самый топорный, читай медленный алгоритм join'ов. В этом плане Postgres был впереди. Ну как впереди, он давал преимущество на коряво написанных приложениях с большим количеством join'ов. Можно ли считать это преимуществом вопрос. Но в последний версиях MySQL 5.6 появились более быстрые виды join'ов. Лично мне это все до лампочи, потому что join'ы во первых были медлеными, а во вторых не масштабируются, поэтому я их не использовал. Да и Django умеет делать быстрый джойн на уровне приложения простым методом ORM - prefetch_related.
JSONB - технология Postgres, которая позволяет сохранять JSON в таблицу. Я бы не назвал это особым преимущестовм, в MySQL хоранить JSON не проблема, в обычно текстовом поле, только обработку делай на уровне приложения и все. В Джанге, опять же это делается установкой какой-нибудь батарейки django-jsonfield или написанием 15 строчек кода единоразово. Т.е. явно сильного преимущества тут нет, тем более, что такие штуки в любом случае удобнее в Монге хранить.
Массивы в Postgres. Было бы прикольно, если бы могли не только хранить, но и строить по ним индекс, как в Монге. Но нет, Постгрес предлагает строить по ним полнотекстовые индексы. Ну а если речь идет про полнотекстовый поиск, то на любом большом сайте уже есть поисковый движек, например Sphinx или ElasticSearch, соотвестваенно, я могу масивы и в MySQL серелизовать в строку и индексировать их этим движком.
Тут преимущество явно на стороне Монги (хотя ее мы тут не рассматриваем), Постргесу еще расти.
Постгрес умеет строить индексы по XML и видимо JSON. Подумаешь, если какая уже говорил, у нас на проекте есть полнотекстовый движек, то мы можем построить индекс по чему угодно и без Постгреса.
Полнотекстовый поиск. Вот тут у Postgres действительно есть преимущество как перед MySQL, так и перед MongoDB. Постгрес подерживает русский язык на уровне стемминга, что во многих случаях волне достаточно. Если надо морфологию, то уже поисковые движки надо использовать, а не БД. MySQL не поддерживает языки, а MongoDB поддерживает русский, но не поддерживает оператор AND (блин как это вообще может быть?!).
Вобщем пока таким явным преимущестовм Постгреса я вижу полнотекстовый поиск, для проектов в которых почему-то нет полноценных полнотекстовых движков. Но с установкой любого движка, это преимущество исчезает.