Supporting range types
One of the most powerful features of PostgreSQL is the ability to make use of range types. Why is that important? When dealing with all kinds of data, we will often see that information is only valid for a certain period. Maybe we want to store prices that change over time, or we want to handle measurement data that is only valid for a certain period.
Normally, what you would do is use two columns, as shown in the next example:
test=# CREATE TABLE t_price ( id serial, product_name text, price numeric, price_from date, price_until date, CHECK (price_until >= price_from) ); CREATE TABLE
In this case, the price is valid for a certain period. If we want to query whether price periods overlap...