Особенности PostgreSQL
PostgreSQL имеет ряд особенностей, которые не разделяются другими базами данных, поддерживаемыми Django. Этот дополнительный модуль содержит поля модели и поля формы для ряда специфических для PostgreSQL типов данных.
Примечание
Django был и будет оставаться веб-фреймворком, не зависящим от баз данных. Мы призываем тех, кто пишет многоразовые приложения для сообщества Django, писать код, не зависящий от базы данных, где это возможно. Однако мы понимаем, что реальные проекты, написанные с использованием Django, не обязательно должны быть привязаны к базе данных. На самом деле, как только проект достигает определенного размера, изменение базового хранилища данных уже является серьезной проблемой и, скорее всего, потребует изменения кодовой базы для обработки различий между хранилищами данных.
Django обеспечивает поддержку ряда типов данных, которые будут работать только с PostgreSQL. Нет никакой фундаментальной причины, почему (например) модуль contrib.mysql не существует, кроме того, что PostgreSQL имеет самый богатый набор функций из поддерживаемых баз данных, поэтому его пользователи получают наибольшую выгоду.
Функции агрегации, специфичные для PostgreSQL
Агрегационные функции общего назначения
Агрегатные функции для статистики
Примеры использования
Ограничения базы данных, специфичные для PostgreSQL
ExclusionConstraint
Выражения запросов, специфичные для PostgreSQL
ArraySubquery() выражения
Поля модели, специфичные для PostgreSQL
Индексирование этих полей
ArrayField
CIText поля
HStoreField
Поля диапазона
Поля и виджеты форм, специфичные для PostgreSQL
Поля
Виджеты
Функции базы данных, специфичные для PostgreSQL
RandomUUID
TransactionNow
Индексы моделей, специфичные для PostgreSQL
BloomIndex
BrinIndex
BTreeIndex
GinIndex
GistIndex
HashIndex
SpGistIndex
OpClass() выражения
Поиск в PostgreSQL
Сходство триграмм
Unaccent
Операции по миграции базы данных
Создание расширения с помощью миграций
CreateExtension
BloomExtension
BtreeGinExtension
BtreeGistExtension
CITextExtension
CryptoExtension
HStoreExtension
TrigramExtension
UnaccentExtension
Управление коллациями с помощью миграций
Одновременные операции с индексами
Добавление ограничений без принудительной валидации
Полнотекстовый поиск
Поиск search
SearchVector
SearchQuery
SearchRank
SearchHeadline
Изменение конфигурации поиска
Взвешивание запросов
Производительность
Сходство триграмм
Валидаторы
KeysValidator
Валидаторы диапазона