PostgreSQL Tutorial for Absolute Beginners [Administration]
About Lesson

Extensibility

One of the most important features of PostgreSQL is that it can be extended. If you don’t find something that you need, you can usually add it yourself. For example, you can add new data types, new functions and operators, and even new procedural and client languages. There are many contributed packages available on the Internet.

Extensions of PostgreSQL can be as small extension as pg_fincore, used to understand the OS cache of your postgreSQL pages to the large projects like postgis and citus data.

PostGIS

Refractions Research, Inc. has developed a set of geographic data types that can be used to efficiently model spatial (GIS) data.

PostGIS adds spatial functions such as distance, area, union, intersection, and specialty geometry data types to PostgreSQL.Spatial databases store and manipulate spatial objects like any other object in the database.

So in a normal database you store data of different types (numeric, text, timestamps, images…) and when needed you can query (fetch) that to answer questions with your data. The questions can be about ‘how many people logged on to your website’ or ‘how many transactions have been made in an online store’. Spatial functions can instead answer questions like ‘how close is the nearest shop’, ‘is this point inside this area’ or ‘what is the size of this country’.

So the data is stored in rows and columns. Because PostGIS is a spatial database, the data also has a geometry column with data in a specific coordinate system defined by spatial reference identifier (SRID). But remember that although you would be using PostGIS mainly for spatial data, it is also possible to store non-spatial data in there, as it still has all the functionalities of a normal PostgreSQL database!

Further reading : http://postgis.net/documentation/

Citusdata:

Citus is basically worry-free Postgres that is built to scale out. It’s an extension to Postgres that distributes data and queries in a cluster of multiple machines. As an extension (rather than a fork), Citus supports new PostgreSQL releases, allowing users to benefit from new features while maintaining compatibility with existing PostgreSQL tools.

Citus horizontally scales PostgreSQL across multiple machines using sharding and replication. Its query engine parallelizes incoming SQL queries across these servers to enable human real-time (less than a second) responses on large datasets.

Citus is helpful in multi tenant environment or micro service environments.