Summary

PostgreSQL is very rich in built-in data types and external extensions. It can be easily extended using the C and C++ languages. In fact, PostgreSQL provides an extension-building infrastructure called PGXS so that extensions can be built against an installed server. Some PostgreSQL extensions, such as PostGIS, require complete chapters to be discussed.

PostgreSQL provides a very rich set of data types, such as XML, hstore, JSON, array, and so on. These data types can be used to ease the developer's life by not reinventing the wheel and utilizing their very rich set of functions and operators. Also, several PostgreSQL data types, such as hstore and JSON, can increase the developer's agility because the database's physical design is not often amended.

PostgreSQL arrays are very mature; they have a rich set of operators and functions. PostgreSQL can handle multidimensional arrays with different base types. Arrays are useful when modeling multi-valued attributes, as well as when performing several tasks that are difficult to achieve using only the pure relational model.

Hash store has been supported in PostgreSQL since version 9.0; it allows the developer to store key values in the data structure. Hash store is very useful when modeling semi-structured data, as well as at increasing the developer's agility.

Both JSON and XML documents are supported, allowing PostgreSQL to support different document exchange formats. PostgreSQL provides several JSON functions to convert rows to JSON and vice versa. This allows PostgreSQL to server also RESTful web services easily.

PostgreSQL also supports full text search. Full text search solves several problems related to linguistics, as well as non-anchored text search performance, and enhances the end user's experience and satisfaction.

The next chapter, discusses in a greater detail the ACID properties and the relation between these properties and concurrency controls. This chapter also discusses several concepts such as isolation levels and their side effects and it shows these side effects using SQL examples. Finally, the chapters discusses different locking methods including pessimistic locking strategies such as row locking and advisory locks.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset