{
  "character varying": { "type": "varchar" },
  "character": { "type": "char" },
  "time without time zone": { "type": "time" },
  "time with time zone": { "type": "timetz" },
  "timestamp without time zone": { "type": "timestamp" },
  "timestamp with time zone": { "type": "timestamptz" },
  "numeric": { "type": "decimal" },
  "text":{
    "type": "varchar",
    "length": -1
  },
  "decimal":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sqlsearch": "cast(%%%SQL%%% as decimal(%%%PREC_H%%%,%%%PREC_L%%%))",
    "sqlsearch_to_db": "cast(%%%SQL%%% as decimal(%%%PREC_H%%%,%%%PREC_L%%%))",
    "datatype_config":{
      "defaults":{ "PREC_H": 38, "PREC_L": 10 }
    }
  },
  "money":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as money)",
    "type": "varchar"
  },
  "double precision":{
    "sql_from_db": "cast(%%%SQL%%% as varchar(50))",
    "sqlsearch": "cast(%%%SQL%%% as float(%%%PREC%%%))",
    "sqlsearch_to_db": "cast(%%%SQL%%% as float(%%%PREC%%%))",
    "datatype_config":{
      "defaults":{ "PREC": 53 }
    },
    "type": "float"
  },
  "real":{
    "datatype_config":{
      "defaults":{ "PREC": 24 }
    },
    "type": "double precision"
  },
  "timetz":{
    "type": "time",
    "datatype_config": { "preserve_timezone": true }
  },
  "timestamp":{ "type": "datetime" },
  "timestamptz":{
    "type": "datetime",
    "datatype_config": { "preserve_timezone": true }
  },
  "interval":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as interval)",
    "type": "varchar"
  },
  "bytea":{
    "sql_from_db": "encode(%%%SQL%%%,'hex')",
    "sql_to_db": "cast(decode(%%%SQL%%%,'hex') as bytea)",
    "type": "varchar"
  },
  "bit":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as bit(%%%LENGTH%%%))",
    "type": "varchar"
  },
  "bit varying":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as bit varying(%%%LENGTH%%%))",
    "type": "varchar"
  },
  "point":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as point)",
    "type": "varchar"
  },
  "line":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as line)",
    "type": "varchar"
  },
  "lseg":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as lseg)",
    "type": "varchar"
  },
  "box":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as box)",
    "type": "varchar"
  },
  "path":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as path)",
    "type": "varchar"
  },
  "polygon":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as polygon)",
    "type": "varchar"
  },
  "circle":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as circle)",
    "type": "varchar"
  },
  "inet":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as inet)",
    "type": "varchar"
  },
  "cidr":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as cidr)",
    "type": "varchar"
  },
  "macaddr":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as macaddr)",
    "type": "varchar"
  },
  "tsvector":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as tsvector)",
    "type": "varchar"
  },
  "tsquery":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as tsquery)",
    "type": "varchar"
  },
  "uuid":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as uuid)",
    "type": "varchar"
  },
  "xml":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as xml)",
    "type": "varchar"
  },
  "json":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as json)",
    "type": "varchar"
  },
  "jsonb":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as jsonb)",
    "type": "varchar"
  },
  "pg_lsn":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as pg_lsn)",
    "type": "varchar"
  },
  "txid_snapshot":{
    "sql_from_db": "cast(%%%SQL%%% as varchar)",
    "sql_to_db": "cast(%%%SQL%%% as txid_snapshot)",
    "type": "varchar"
  }
}