All versions of PostgreSQL. Add an additional version-specific tag like postgresql-11 if that context is important.
PostgreSQL is a powerful, open source ACID complaint MVCC database system with a proven architecture that has earned a strong reputation for standards-compliance, reliability, data integrity, and extensiblity.
PostgreSQL runs on all major operating systems.
Functionality
PostgreSQL supports foreign keys, transactions, and window functions. As well as views and materialized views, triggers, CTEs (including recursive CTEs), scalar-functions, and table-value functions. Functions can be written in multiple languages including C, PL/pgSQL (a PostgreSQL variant of PL), Python, Perl, TCL, and numerous other languages including Java, Lua, R, sh, and v8 ECMAScript/JavaScript.
Types
PostgreSQL supports many types natively, including
- Most of the standard SQL types including boolean types, and enumerated types (ENUMs) that permit sensible joins, foreign keys, and centralized management
- JSON and binary JSON types
- XML which is validated text that is marked as a document, or content (snippet) and provides
XMLPARSE
,XMLSERIALIZE
, full-text search - Range types (including interger, numeric, timestamp and date)
- UUIDs
- SQL-standard
ARRAY
types's. - non-spatial geometric types (points, lines, line segments, polygons, boxes, paths, circles
- Network address types, including ip and mac types
Also supported are user-implemented types in C which have produced an ecosystem of extensions that add support for things big numbers, phone numbers and SI Units.
PostgreSQL also supports storage of binary large objects, (ie., pictures, sounds, or video). It has native programming interfaces for most compiled, and interpreted languages.
DOMAINs
PostgreSQL supports SQL DOMAIN
s over native types for when you want data validity attached to the type and not the containing table or function. This can be useful for things like storing email addresses
Indexes
PostgreSQL supports multicolumn, unique, full, and partial indexes and indexes on expressions and functions. These indexes can be created as btree, hash, bloom, BRIN (for large tables), GIST or GIN (inverted) indexes, and trigram for indexes on un-anchored search patterns.
Replication and High Availability
PostgreSQL supports both logical publish/subscribe replication, and WAL-shipping.
See also PostgreSQL Docs: High Availability, Load Balancing, and Replication
Extensions
PostgreSQL extensions provide additionally capabilities.
Spatial
The GIS system, provided by PostGIS, is the best in the industry providing a downloader for CENSUS data that provides geocoding. PostGIS is further expanded with PgRouting which provides Shortest-Path functionality to achieve a quick Google Maps routing ability.
See also postgis
License
PostgreSQL's source code is available under a liberal open source license: the PostgreSQL License. This license gives you the freedom to use, modify and distribute PostgreSQL in any form you like, open or closed source. Any modifications, enhancements, or changes you make are yours to do with as you please.