PostgreSQL can handle rich data types due to its powerful extensions. Data that doesn't fit the relational model inherently, such as semi-structured data, can be stored and manipulated, either using out-of-the-box data types or extensions. Also, the PostgreSQL community focuses not only on enhancing relational database features, but also on supporting rich data types, such as arrays, XMLs, hash stores, and JSON documents. The focus shift is a result of embracing changes in the software development process's life cycle, such as agile development methods, and supporting unknown and rapid software requirements.
Non-conventional data types allow PostgreSQL to store different data types, such as geographical, binary, ...