Вопрос проверяет понимание архитектуры PostgreSQL и причин его основной специализации.
PostgreSQL оптимизирован для транзакционной нагрузки. Он хорошо работает с частыми изменениями данных и большим количеством конкурентных запросов. PostgreSQL поддерживает строгие транзакции и изоляцию. Его архитектура ориентирована на OLTP-сценарии. Хотя он может выполнять аналитические запросы, это не его основная роль.
PostgreSQL — универсальная СУБД, но исторически и архитектурно он ближе к OLTP, чем к OLAP.
OLTP-oriented database — база данных, оптимизированная для обработки транзакций и конкурентных запросов.
PostgreSQL имеет ряд характеристик, типичных для OLTP.
PostgreSQL использует:
многоверсионность (MVCC);
отсутствие блокировок при чтении;
стабильную работу при высокой конкуренции.
Это идеально для транзакций.
Данные хранятся:
по строкам;
оптимально для операций с отдельными записями.
Это типично для OLTP.
PostgreSQL хорошо справляется с:
частыми INSERT;
UPDATE;
DELETE.
Он эффективно обслуживает короткие запросы.
Для аналитических задач:
сложные агрегации работают медленнее;
сканирование больших таблиц дорого;
индексы не всегда помогают.
Это делает PostgreSQL менее эффективным для OLAP.
PostgreSQL всё же применяют:
для небольших объёмов данных;
для ad-hoc аналитики;
когда отдельного OLAP-хранилища нет.
PostgreSQL относят к OLTP, потому что он оптимизирован под транзакции, конкуренцию и частые изменения данных. Для тяжёлой аналитики обычно выбирают специализированные OLAP-системы.