## 53.43. `pg_range`

The catalog `pg_range` stores information about range types. This is in addition to the types' entries in `pg_type`.

Table 53.43. `pg_range` Columns

Column Type Description
`rngtypid` `oid` (references `pg_type`.`oid`) OID of the range type
`rngsubtype` `oid` (references `pg_type`.`oid`) OID of the element type (subtype) of this range type
`rngmultitypid` `oid` (references `pg_type`.`oid`) OID of the multirange type for this range type
`rngcollation` `oid` (references `pg_collation`.`oid`) OID of the collation used for range comparisons, or zero if none
`rngsubopc` `oid` (references `pg_opclass`.`oid`) OID of the subtype's operator class used for range comparisons
`rngcanonical` `regproc` (references `pg_proc`.`oid`) OID of the function to convert a range value into canonical form, or zero if none
`rngsubdiff` `regproc` (references `pg_proc`.`oid`) OID of the function to return the difference between two element values as `double precision`, or zero if none

`rngsubopc` (plus `rngcollation`, if the element type is collatable) determines the sort ordering used by the range type. `rngcanonical` is used when the element type is discrete. `rngsubdiff` is optional but should be supplied to improve performance of GiST indexes on the range type.