content: ------------------------------------------------------------------------------
  -- |
  -- Module:      Database.PostgreSQL.Simple.TypeInfo
  -- Copyright:   (c) 2011-2012 Leon P Smith
  -- License:     BSD3
  -- Maintainer:  Leon P Smith <leon@melding-monads.com>
  -- Stability:   experimental
  --
  -- This module contains portions of the @pg_type@ table that are relevant
  -- to postgresql-simple and are believed to not change between PostgreSQL
  -- versions.
  --
  ------------------------------------------------------------------------------
  
  -- Note that this file is generated by tools/GenTypeInfo.hs, and should
  -- not be edited directly
  
  module Database.PostgreSQL.Simple.TypeInfo.Static
       ( TypeInfo(..)
       , staticTypeInfo
       , bool
       , bytea
       , char
       , name
       , int8
       , int2
       , int4
       , regproc
       , text
       , oid
       , tid
       , xid
       , cid
       , xml
       , point
       , lseg
       , path
       , box
       , polygon
       , line
       , cidr
       , float4
       , float8
       , unknown
       , circle
       , money
       , macaddr
       , inet
       , bpchar
       , varchar
       , date
       , time
       , timestamp
       , timestamptz
       , interval
       , timetz
       , bit
       , varbit
       , numeric
       , refcursor
       , record
       , void
       , array_record
       , regprocedure
       , regoper
       , regoperator
       , regclass
       , regtype
       , uuid
       , json
       , jsonb
       , int2vector
       , oidvector
       , array_xml
       , array_json
       , array_line
       , array_cidr
       , array_circle
       , array_money
       , array_bool
       , array_bytea
       , array_char
       , array_name
       , array_int2
       , array_int2vector
       , array_int4
       , array_regproc
       , array_text
       , array_tid
       , array_xid
       , array_cid
       , array_oidvector
       , array_bpchar
       , array_varchar
       , array_int8
       , array_point
       , array_lseg
       , array_path
       , array_box
       , array_float4
       , array_float8
       , array_polygon
       , array_oid
       , array_macaddr
       , array_inet
       , array_timestamp
       , array_date
       , array_time
       , array_timestamptz
       , array_interval
       , array_numeric
       , array_timetz
       , array_bit
       , array_varbit
       , array_refcursor
       , array_regprocedure
       , array_regoper
       , array_regoperator
       , array_regclass
       , array_regtype
       , array_uuid
       , array_jsonb
       , int4range
       , _int4range
       , numrange
       , _numrange
       , tsrange
       , _tsrange
       , tstzrange
       , _tstzrange
       , daterange
       , _daterange
       , int8range
       , _int8range
       ) where
  
  import Database.PostgreSQL.LibPQ (Oid(..))
  import Database.PostgreSQL.Simple.TypeInfo.Types
  
  staticTypeInfo :: Oid -> Maybe TypeInfo
  staticTypeInfo (Oid x) = case x of
      16   -> Just bool
      17   -> Just bytea
      18   -> Just char
      19   -> Just name
      20   -> Just int8
      21   -> Just int2
      23   -> Just int4
      24   -> Just regproc
      25   -> Just text
      26   -> Just oid
      27   -> Just tid
      28   -> Just xid
      29   -> Just cid
      142  -> Just xml
      600  -> Just point
      601  -> Just lseg
      602  -> Just path
      603  -> Just box
      604  -> Just polygon
      628  -> Just line
      650  -> Just cidr
      700  -> Just float4
      701  -> Just float8
      705  -> Just unknown
      718  -> Just circle
      790  -> Just money
      829  -> Just macaddr
      869  -> Just inet
      1042 -> Just bpchar
      1043 -> Just varchar
      1082 -> Just date
      1083 -> Just time
      1114 -> Just timestamp
      1184 -> Just timestamptz
      1186 -> Just interval
      1266 -> Just timetz
      1560 -> Just bit
      1562 -> Just varbit
      1700 -> Just numeric
      1790 -> Just refcursor
      2249 -> Just record
      2278 -> Just void
      2287 -> Just array_record
      2202 -> Just regprocedure
      2203 -> Just regoper
      2204 -> Just regoperator
      2205 -> Just regclass
      2206 -> Just regtype
      2950 -> Just uuid
      114  -> Just json
      3802 -> Just jsonb
      22   -> Just int2vector
      30   -> Just oidvector
      143  -> Just array_xml
      199  -> Just array_json
      629  -> Just array_line
      651  -> Just array_cidr
      719  -> Just array_circle
      791  -> Just array_money
      1000 -> Just array_bool
      1001 -> Just array_bytea
      1002 -> Just array_char
      1003 -> Just array_name
      1005 -> Just array_int2
      1006 -> Just array_int2vector
      1007 -> Just array_int4
      1008 -> Just array_regproc
      1009 -> Just array_text
      1010 -> Just array_tid
      1011 -> Just array_xid
      1012 -> Just array_cid
      1013 -> Just array_oidvector
      1014 -> Just array_bpchar
      1015 -> Just array_varchar
      1016 -> Just array_int8
      1017 -> Just array_point
      1018 -> Just array_lseg
      1019 -> Just array_path
      1020 -> Just array_box
      1021 -> Just array_float4
      1022 -> Just array_float8
      1027 -> Just array_polygon
      1028 -> Just array_oid
      1040 -> Just array_macaddr
      1041 -> Just array_inet
      1115 -> Just array_timestamp
      1182 -> Just array_date
      1183 -> Just array_time
      1185 -> Just array_timestamptz
      1187 -> Just array_interval
      1231 -> Just array_numeric
      1270 -> Just array_timetz
      1561 -> Just array_bit
      1563 -> Just array_varbit
      2201 -> Just array_refcursor
      2207 -> Just array_regprocedure
      2208 -> Just array_regoper
      2209 -> Just array_regoperator
      2210 -> Just array_regclass
      2211 -> Just array_regtype
      2951 -> Just array_uuid
      3807 -> Just array_jsonb
      3904 -> Just int4range
      3905 -> Just _int4range
      3906 -> Just numrange
      3907 -> Just _numrange
      3908 -> Just tsrange
      3909 -> Just _tsrange
      3910 -> Just tstzrange
      3911 -> Just _tstzrange
      3912 -> Just daterange
      3913 -> Just _daterange
      3926 -> Just int8range
      3927 -> Just _int8range
      _ -> Nothing
  
  bool :: TypeInfo
  bool =  Basic {
      typoid      = Oid 16,
      typcategory = 'B',
      typdelim    = ',',
      typname     = "bool"
    }
  
  bytea :: TypeInfo
  bytea =  Basic {
      typoid      = Oid 17,
      typcategory = 'U',
      typdelim    = ',',
      typname     = "bytea"
    }
  
  char :: TypeInfo
  char =  Basic {
      typoid      = Oid 18,
      typcategory = 'S',
      typdelim    = ',',
      typname     = "char"
    }
  
  name :: TypeInfo
  name =  Basic {
      typoid      = Oid 19,
      typcategory = 'S',
      typdelim    = ',',
      typname     = "name"
    }
  
  int8 :: TypeInfo
  int8 =  Basic {
      typoid      = Oid 20,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "int8"
    }
  
  int2 :: TypeInfo
  int2 =  Basic {
      typoid      = Oid 21,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "int2"
    }
  
  int4 :: TypeInfo
  int4 =  Basic {
      typoid      = Oid 23,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "int4"
    }
  
  regproc :: TypeInfo
  regproc =  Basic {
      typoid      = Oid 24,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "regproc"
    }
  
  text :: TypeInfo
  text =  Basic {
      typoid      = Oid 25,
      typcategory = 'S',
      typdelim    = ',',
      typname     = "text"
    }
  
  oid :: TypeInfo
  oid =  Basic {
      typoid      = Oid 26,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "oid"
    }
  
  tid :: TypeInfo
  tid =  Basic {
      typoid      = Oid 27,
      typcategory = 'U',
      typdelim    = ',',
      typname     = "tid"
    }
  
  xid :: TypeInfo
  xid =  Basic {
      typoid      = Oid 28,
      typcategory = 'U',
      typdelim    = ',',
      typname     = "xid"
    }
  
  cid :: TypeInfo
  cid =  Basic {
      typoid      = Oid 29,
      typcategory = 'U',
      typdelim    = ',',
      typname     = "cid"
    }
  
  xml :: TypeInfo
  xml =  Basic {
      typoid      = Oid 142,
      typcategory = 'U',
      typdelim    = ',',
      typname     = "xml"
    }
  
  point :: TypeInfo
  point =  Basic {
      typoid      = Oid 600,
      typcategory = 'G',
      typdelim    = ',',
      typname     = "point"
    }
  
  lseg :: TypeInfo
  lseg =  Basic {
      typoid      = Oid 601,
      typcategory = 'G',
      typdelim    = ',',
      typname     = "lseg"
    }
  
  path :: TypeInfo
  path =  Basic {
      typoid      = Oid 602,
      typcategory = 'G',
      typdelim    = ',',
      typname     = "path"
    }
  
  box :: TypeInfo
  box =  Basic {
      typoid      = Oid 603,
      typcategory = 'G',
      typdelim    = ';',
      typname     = "box"
    }
  
  polygon :: TypeInfo
  polygon =  Basic {
      typoid      = Oid 604,
      typcategory = 'G',
      typdelim    = ',',
      typname     = "polygon"
    }
  
  line :: TypeInfo
  line =  Basic {
      typoid      = Oid 628,
      typcategory = 'G',
      typdelim    = ',',
      typname     = "line"
    }
  
  cidr :: TypeInfo
  cidr =  Basic {
      typoid      = Oid 650,
      typcategory = 'I',
      typdelim    = ',',
      typname     = "cidr"
    }
  
  float4 :: TypeInfo
  float4 =  Basic {
      typoid      = Oid 700,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "float4"
    }
  
  float8 :: TypeInfo
  float8 =  Basic {
      typoid      = Oid 701,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "float8"
    }
  
  unknown :: TypeInfo
  unknown =  Basic {
      typoid      = Oid 705,
      typcategory = 'X',
      typdelim    = ',',
      typname     = "unknown"
    }
  
  circle :: TypeInfo
  circle =  Basic {
      typoid      = Oid 718,
      typcategory = 'G',
      typdelim    = ',',
      typname     = "circle"
    }
  
  money :: TypeInfo
  money =  Basic {
      typoid      = Oid 790,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "money"
    }
  
  macaddr :: TypeInfo
  macaddr =  Basic {
      typoid      = Oid 829,
      typcategory = 'U',
      typdelim    = ',',
      typname     = "macaddr"
    }
  
  inet :: TypeInfo
  inet =  Basic {
      typoid      = Oid 869,
      typcategory = 'I',
      typdelim    = ',',
      typname     = "inet"
    }
  
  bpchar :: TypeInfo
  bpchar =  Basic {
      typoid      = Oid 1042,
      typcategory = 'S',
      typdelim    = ',',
      typname     = "bpchar"
    }
  
  varchar :: TypeInfo
  varchar =  Basic {
      typoid      = Oid 1043,
      typcategory = 'S',
      typdelim    = ',',
      typname     = "varchar"
    }
  
  date :: TypeInfo
  date =  Basic {
      typoid      = Oid 1082,
      typcategory = 'D',
      typdelim    = ',',
      typname     = "date"
    }
  
  time :: TypeInfo
  time =  Basic {
      typoid      = Oid 1083,
      typcategory = 'D',
      typdelim    = ',',
      typname     = "time"
    }
  
  timestamp :: TypeInfo
  timestamp =  Basic {
      typoid      = Oid 1114,
      typcategory = 'D',
      typdelim    = ',',
      typname     = "timestamp"
    }
  
  timestamptz :: TypeInfo
  timestamptz =  Basic {
      typoid      = Oid 1184,
      typcategory = 'D',
      typdelim    = ',',
      typname     = "timestamptz"
    }
  
  interval :: TypeInfo
  interval =  Basic {
      typoid      = Oid 1186,
      typcategory = 'T',
      typdelim    = ',',
      typname     = "interval"
    }
  
  timetz :: TypeInfo
  timetz =  Basic {
      typoid      = Oid 1266,
      typcategory = 'D',
      typdelim    = ',',
      typname     = "timetz"
    }
  
  bit :: TypeInfo
  bit =  Basic {
      typoid      = Oid 1560,
      typcategory = 'V',
      typdelim    = ',',
      typname     = "bit"
    }
  
  varbit :: TypeInfo
  varbit =  Basic {
      typoid      = Oid 1562,
      typcategory = 'V',
      typdelim    = ',',
      typname     = "varbit"
    }
  
  numeric :: TypeInfo
  numeric =  Basic {
      typoid      = Oid 1700,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "numeric"
    }
  
  refcursor :: TypeInfo
  refcursor =  Basic {
      typoid      = Oid 1790,
      typcategory = 'U',
      typdelim    = ',',
      typname     = "refcursor"
    }
  
  record :: TypeInfo
  record =  Basic {
      typoid      = Oid 2249,
      typcategory = 'P',
      typdelim    = ',',
      typname     = "record"
    }
  
  void :: TypeInfo
  void =  Basic {
      typoid      = Oid 2278,
      typcategory = 'P',
      typdelim    = ',',
      typname     = "void"
    }
  
  array_record :: TypeInfo
  array_record =  Array {
      typoid      = Oid 2287,
      typcategory = 'P',
      typdelim    = ',',
      typname     = "_record",
      typelem     = record
    }
  
  regprocedure :: TypeInfo
  regprocedure =  Basic {
      typoid      = Oid 2202,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "regprocedure"
    }
  
  regoper :: TypeInfo
  regoper =  Basic {
      typoid      = Oid 2203,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "regoper"
    }
  
  regoperator :: TypeInfo
  regoperator =  Basic {
      typoid      = Oid 2204,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "regoperator"
    }
  
  regclass :: TypeInfo
  regclass =  Basic {
      typoid      = Oid 2205,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "regclass"
    }
  
  regtype :: TypeInfo
  regtype =  Basic {
      typoid      = Oid 2206,
      typcategory = 'N',
      typdelim    = ',',
      typname     = "regtype"
    }
  
  uuid :: TypeInfo
  uuid =  Basic {
      typoid      = Oid 2950,
      typcategory = 'U',
      typdelim    = ',',
      typname     = "uuid"
    }
  
  json :: TypeInfo
  json =  Basic {
      typoid      = Oid 114,
      typcategory = 'U',
      typdelim    = ',',
      typname     = "json"
    }
  
  jsonb :: TypeInfo
  jsonb =  Basic {
      typoid      = Oid 3802,
      typcategory = 'U',
      typdelim    = ',',
      typname     = "jsonb"
    }
  
  int2vector :: TypeInfo
  int2vector =  Array {
      typoid      = Oid 22,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "int2vector",
      typelem     = int2
    }
  
  oidvector :: TypeInfo
  oidvector =  Array {
      typoid      = Oid 30,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "oidvector",
      typelem     = oid
    }
  
  array_xml :: TypeInfo
  array_xml =  Array {
      typoid      = Oid 143,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_xml",
      typelem     = xml
    }
  
  array_json :: TypeInfo
  array_json =  Array {
      typoid      = Oid 199,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_json",
      typelem     = json
    }
  
  array_line :: TypeInfo
  array_line =  Array {
      typoid      = Oid 629,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_line",
      typelem     = line
    }
  
  array_cidr :: TypeInfo
  array_cidr =  Array {
      typoid      = Oid 651,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_cidr",
      typelem     = cidr
    }
  
  array_circle :: TypeInfo
  array_circle =  Array {
      typoid      = Oid 719,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_circle",
      typelem     = circle
    }
  
  array_money :: TypeInfo
  array_money =  Array {
      typoid      = Oid 791,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_money",
      typelem     = money
    }
  
  array_bool :: TypeInfo
  array_bool =  Array {
      typoid      = Oid 1000,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_bool",
      typelem     = bool
    }
  
  array_bytea :: TypeInfo
  array_bytea =  Array {
      typoid      = Oid 1001,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_bytea",
      typelem     = bytea
    }
  
  array_char :: TypeInfo
  array_char =  Array {
      typoid      = Oid 1002,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_char",
      typelem     = char
    }
  
  array_name :: TypeInfo
  array_name =  Array {
      typoid      = Oid 1003,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_name",
      typelem     = name
    }
  
  array_int2 :: TypeInfo
  array_int2 =  Array {
      typoid      = Oid 1005,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_int2",
      typelem     = int2
    }
  
  array_int2vector :: TypeInfo
  array_int2vector =  Array {
      typoid      = Oid 1006,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_int2vector",
      typelem     = int2vector
    }
  
  array_int4 :: TypeInfo
  array_int4 =  Array {
      typoid      = Oid 1007,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_int4",
      typelem     = int4
    }
  
  array_regproc :: TypeInfo
  array_regproc =  Array {
      typoid      = Oid 1008,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_regproc",
      typelem     = regproc
    }
  
  array_text :: TypeInfo
  array_text =  Array {
      typoid      = Oid 1009,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_text",
      typelem     = text
    }
  
  array_tid :: TypeInfo
  array_tid =  Array {
      typoid      = Oid 1010,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_tid",
      typelem     = tid
    }
  
  array_xid :: TypeInfo
  array_xid =  Array {
      typoid      = Oid 1011,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_xid",
      typelem     = xid
    }
  
  array_cid :: TypeInfo
  array_cid =  Array {
      typoid      = Oid 1012,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_cid",
      typelem     = cid
    }
  
  array_oidvector :: TypeInfo
  array_oidvector =  Array {
      typoid      = Oid 1013,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_oidvector",
      typelem     = oidvector
    }
  
  array_bpchar :: TypeInfo
  array_bpchar =  Array {
      typoid      = Oid 1014,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_bpchar",
      typelem     = bpchar
    }
  
  array_varchar :: TypeInfo
  array_varchar =  Array {
      typoid      = Oid 1015,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_varchar",
      typelem     = varchar
    }
  
  array_int8 :: TypeInfo
  array_int8 =  Array {
      typoid      = Oid 1016,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_int8",
      typelem     = int8
    }
  
  array_point :: TypeInfo
  array_point =  Array {
      typoid      = Oid 1017,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_point",
      typelem     = point
    }
  
  array_lseg :: TypeInfo
  array_lseg =  Array {
      typoid      = Oid 1018,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_lseg",
      typelem     = lseg
    }
  
  array_path :: TypeInfo
  array_path =  Array {
      typoid      = Oid 1019,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_path",
      typelem     = path
    }
  
  array_box :: TypeInfo
  array_box =  Array {
      typoid      = Oid 1020,
      typcategory = 'A',
      typdelim    = ';',
      typname     = "_box",
      typelem     = box
    }
  
  array_float4 :: TypeInfo
  array_float4 =  Array {
      typoid      = Oid 1021,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_float4",
      typelem     = float4
    }
  
  array_float8 :: TypeInfo
  array_float8 =  Array {
      typoid      = Oid 1022,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_float8",
      typelem     = float8
    }
  
  array_polygon :: TypeInfo
  array_polygon =  Array {
      typoid      = Oid 1027,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_polygon",
      typelem     = polygon
    }
  
  array_oid :: TypeInfo
  array_oid =  Array {
      typoid      = Oid 1028,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_oid",
      typelem     = oid
    }
  
  array_macaddr :: TypeInfo
  array_macaddr =  Array {
      typoid      = Oid 1040,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_macaddr",
      typelem     = macaddr
    }
  
  array_inet :: TypeInfo
  array_inet =  Array {
      typoid      = Oid 1041,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_inet",
      typelem     = inet
    }
  
  array_timestamp :: TypeInfo
  array_timestamp =  Array {
      typoid      = Oid 1115,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_timestamp",
      typelem     = timestamp
    }
  
  array_date :: TypeInfo
  array_date =  Array {
      typoid      = Oid 1182,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_date",
      typelem     = date
    }
  
  array_time :: TypeInfo
  array_time =  Array {
      typoid      = Oid 1183,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_time",
      typelem     = time
    }
  
  array_timestamptz :: TypeInfo
  array_timestamptz =  Array {
      typoid      = Oid 1185,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_timestamptz",
      typelem     = timestamptz
    }
  
  array_interval :: TypeInfo
  array_interval =  Array {
      typoid      = Oid 1187,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_interval",
      typelem     = interval
    }
  
  array_numeric :: TypeInfo
  array_numeric =  Array {
      typoid      = Oid 1231,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_numeric",
      typelem     = numeric
    }
  
  array_timetz :: TypeInfo
  array_timetz =  Array {
      typoid      = Oid 1270,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_timetz",
      typelem     = timetz
    }
  
  array_bit :: TypeInfo
  array_bit =  Array {
      typoid      = Oid 1561,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_bit",
      typelem     = bit
    }
  
  array_varbit :: TypeInfo
  array_varbit =  Array {
      typoid      = Oid 1563,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_varbit",
      typelem     = varbit
    }
  
  array_refcursor :: TypeInfo
  array_refcursor =  Array {
      typoid      = Oid 2201,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_refcursor",
      typelem     = refcursor
    }
  
  array_regprocedure :: TypeInfo
  array_regprocedure =  Array {
      typoid      = Oid 2207,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_regprocedure",
      typelem     = regprocedure
    }
  
  array_regoper :: TypeInfo
  array_regoper =  Array {
      typoid      = Oid 2208,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_regoper",
      typelem     = regoper
    }
  
  array_regoperator :: TypeInfo
  array_regoperator =  Array {
      typoid      = Oid 2209,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_regoperator",
      typelem     = regoperator
    }
  
  array_regclass :: TypeInfo
  array_regclass =  Array {
      typoid      = Oid 2210,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_regclass",
      typelem     = regclass
    }
  
  array_regtype :: TypeInfo
  array_regtype =  Array {
      typoid      = Oid 2211,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_regtype",
      typelem     = regtype
    }
  
  array_uuid :: TypeInfo
  array_uuid =  Array {
      typoid      = Oid 2951,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_uuid",
      typelem     = uuid
    }
  
  array_jsonb :: TypeInfo
  array_jsonb =  Array {
      typoid      = Oid 3807,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_jsonb",
      typelem     = jsonb
    }
  
  int4range :: TypeInfo
  int4range =  Range {
      typoid      = Oid 3904,
      typcategory = 'R',
      typdelim    = ',',
      typname     = "int4range",
      rngsubtype  = int4
    }
  
  _int4range :: TypeInfo
  _int4range =  Array {
      typoid      = Oid 3905,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_int4range",
      typelem     = int4range
    }
  
  numrange :: TypeInfo
  numrange =  Range {
      typoid      = Oid 3906,
      typcategory = 'R',
      typdelim    = ',',
      typname     = "numrange",
      rngsubtype  = numeric
    }
  
  _numrange :: TypeInfo
  _numrange =  Array {
      typoid      = Oid 3907,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_numrange",
      typelem     = numrange
    }
  
  tsrange :: TypeInfo
  tsrange =  Range {
      typoid      = Oid 3908,
      typcategory = 'R',
      typdelim    = ',',
      typname     = "tsrange",
      rngsubtype  = timestamp
    }
  
  _tsrange :: TypeInfo
  _tsrange =  Array {
      typoid      = Oid 3909,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_tsrange",
      typelem     = tsrange
    }
  
  tstzrange :: TypeInfo
  tstzrange =  Range {
      typoid      = Oid 3910,
      typcategory = 'R',
      typdelim    = ',',
      typname     = "tstzrange",
      rngsubtype  = timestamptz
    }
  
  _tstzrange :: TypeInfo
  _tstzrange =  Array {
      typoid      = Oid 3911,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_tstzrange",
      typelem     = tstzrange
    }
  
  daterange :: TypeInfo
  daterange =  Range {
      typoid      = Oid 3912,
      typcategory = 'R',
      typdelim    = ',',
      typname     = "daterange",
      rngsubtype  = date
    }
  
  _daterange :: TypeInfo
  _daterange =  Array {
      typoid      = Oid 3913,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_daterange",
      typelem     = daterange
    }
  
  int8range :: TypeInfo
  int8range =  Range {
      typoid      = Oid 3926,
      typcategory = 'R',
      typdelim    = ',',
      typname     = "int8range",
      rngsubtype  = int8
    }
  
  _int8range :: TypeInfo
  _int8range =  Array {
      typoid      = Oid 3927,
      typcategory = 'A',
      typdelim    = ',',
      typname     = "_int8range",
      typelem     = int8range
    }
  