PostgreSQL has a number of features which are not shared by the other databases Django supports. This optional module contains model fields and form fields for a number of PostgreSQL specific data types.
Psycopg2 2.5 or higher is required, though we highly recommend using the latest release. Some fields require higher versions.
Note
Django is, and will continue to be, a database-agnostic web framework. We would encourage those writing reusable applications for the Django community to write database-agnostic code where practical. However, we recognize that real world projects written using Django need not be database-agnostic. In fact, once a project reaches a given size changing the underlying data store is already a significant challenge and is likely to require changing the code base in some ways to handle differences between the data stores.
Django provides support for a number of data types which will only work with PostgreSQL. There is no fundamental reason why (for example) a contrib.mysql
module does not exist, except that PostgreSQL has the richest feature set of the supported databases so its users have the most to gain.
-
PostgreSQL specific aggregation functions
- General-purpose aggregation functions
- Aggregate functions for statistics
- Usage examples
-
PostgreSQL specific model fields
ArrayField
HStoreField
JSONField
- Range Fields
-
PostgreSQL specific form fields and widgets
- Fields
- Widgets
-
PostgreSQL specific database functions
TransactionNow
-
PostgreSQL specific lookups
- Trigram similarity
Unaccent
-
Database migration operations
CreateExtension
HStoreExtension
TrigramExtension
UnaccentExtension
-
Full text search
- The
search
lookup SearchVector
SearchQuery
SearchRank
- Changing the search configuration
- Weighting queries
- Performance
- Trigram similarity
- The
-
Validators
KeysValidator
- Range validators
Please login to continue.