Variant

pg-value

Postgres data values, usable as parameters or via queries see: https://www.postgresql.org/docs/current/datatype.html

variant pg-value {
  null,
  big-int(s64),
  int8(s64),
  int8-array(list​<s64>),
  big-serial(s64),
  serial8(s64),
  bool(bool),
  boolean(bool),
  bool-array(list​<bool>),
  double(hashable-f64),
  float8(hashable-f64),
  float8-array(list​<hashable-f64>),
  real(hashable-f32),
  float4(hashable-f32),
  float4-array(list​<hashable-f32>),
  integer(s32),
  int(s32),
  int4(s32),
  int4-array(list​<s32>),
  numeric(numeric),
  decimal(numeric),
  numeric-array(list​<numeric>),
  serial(u32),
  serial4(u32),
  small-int(s16),
  int2(s16),
  int2-array(list​<s16>),
  int2-vector(list​<s16>),
  int2-vector-array(list​<list​<s16>>),
  small-serial(s16),
  serial2(s16),
  bit(tuple​<u32, list​<u8>>),
  bit-array(list​<tuple​<u32, list​<u8>>>),
  bit-varying(tuple​<option​<u32>, list​<u8>>),
  varbit(tuple​<option​<u32>, list​<u8>>),
  varbit-array(list​<tuple​<option​<u32>, list​<u8>>>),
  bytea(list​<u8>),
  bytea-array(list​<list​<u8>>),
  char(tuple​<u32, list​<u8>>),
  char-array(list​<tuple​<u32, list​<u8>>>),
  varchar(tuple​<option​<u32>, list​<u8>>),
  varchar-array(list​<tuple​<option​<u32>, list​<u8>>>),
  cidr(string),
  cidr-array(list​<string>),
  inet(string),
  inet-array(list​<string>),
  macaddr(mac-address-eui48),
  macaddr-array(list​<mac-address-eui48>),
  macaddr8(mac-address-eui64),
  macaddr8-array(list​<mac-address-eui64>),
  box(tuple​<lower-left-point, upper-right-point>),
  box-array(list​<tuple​<lower-left-point, upper-right-point>>),
  circle(tuple​<center-point, radius>),
  circle-array(list​<tuple​<center-point, radius>>),
  line(tuple​<start-point, end-point>),
  line-array(list​<tuple​<start-point, end-point>>),
  lseg(tuple​<start-point, end-point>),
  lseg-array(list​<tuple​<start-point, end-point>>),
  path(list​<point>),
  path-array(list​<list​<point>>),
  point(point),
  point-array(list​<point>),
  polygon(list​<point>),
  polygon-array(list​<list​<point>>),
  date(date),
  date-array(list​<date>),
  interval(interval),
  interval-array(list​<interval>),
  time(time),
  time-array(list​<time>),
  time-tz(time-tz),
  time-tz-array(list​<time-tz>),
  timestamp(timestamp),
  timestamp-array(list​<timestamp>),
  timestamp-tz(timestamp-tz),
  timestamp-tz-array(list​<timestamp-tz>),
  json(string),
  json-array(list​<string>),
  jsonb(string),
  jsonb-array(list​<string>),
  money(numeric),
  money-array(list​<numeric>),
  pg-lsn(u64),
  pg-lsn-array(list​<u64>),
  pg-snapshot(tuple​<xmin, xmax, xip-list>),
  txid-snapshot(s64),
  name(string),
  name-array(list​<string>),
  text(string),
  text-array(list​<string>),
  xml(string),
  xml-array(list​<string>),
  ts-query(string),
  ts-vector(list​<lexeme>),
  uuid(string),
  uuid-array(list​<string>),
  hstore(list​<tuple​<string, option​<string>>>),
}

Cases

CasePayloadDescription
null
big-ints64Numeric
int8s64
int8-arraylist​<s64>
big-serials64
serial8s64
boolbool
booleanbool
bool-arraylist​<bool>
doublehashable-f64
float8hashable-f64
float8-arraylist​<hashable-f64>
realhashable-f32
float4hashable-f32
float4-arraylist​<hashable-f32>
integers32
ints32
int4s32
int4-arraylist​<s32>
numericnumeric
decimalnumeric
numeric-arraylist​<numeric>
serialu32
serial4u32
small-ints16
int2s16
int2-arraylist​<s16>
int2-vectorlist​<s16>
int2-vector-arraylist​<list​<s16>>
small-serials16
serial2s16
bittuple​<u32, list​<u8>>note: matches tokio-postgres Bytes
bit-arraylist​<tuple​<u32, list​<u8>>>
bit-varyingtuple​<option​<u32>, list​<u8>>
varbittuple​<option​<u32>, list​<u8>>
varbit-arraylist​<tuple​<option​<u32>, list​<u8>>>
bytealist​<u8>
bytea-arraylist​<list​<u8>>
chartuple​<u32, list​<u8>>Characters TODO: specify text encoding, to negotiate possible component/DB mismatch?
char-arraylist​<tuple​<u32, list​<u8>>>
varchartuple​<option​<u32>, list​<u8>>
varchar-arraylist​<tuple​<option​<u32>, list​<u8>>>
cidrstringNetworking
cidr-arraylist​<string>
inetstring
inet-arraylist​<string>
macaddrmac-address-eui48
macaddr-arraylist​<mac-address-eui48>EUI-48
macaddr8mac-address-eui64EUI-48
macaddr8-arraylist​<mac-address-eui64>EUI-64 (deprecated)
boxtuple​<lower-left-point, upper-right-point>EUI-64 (deprecated) Geo
box-arraylist​<tuple​<lower-left-point, upper-right-point>>
circletuple​<center-point, radius>
circle-arraylist​<tuple​<center-point, radius>>
linetuple​<start-point, end-point>
line-arraylist​<tuple​<start-point, end-point>>
lsegtuple​<start-point, end-point>
lseg-arraylist​<tuple​<start-point, end-point>>
pathlist​<point>
path-arraylist​<list​<point>>
pointpoint
point-arraylist​<point>
polygonlist​<point>
polygon-arraylist​<list​<point>>
datedateDate-time
date-arraylist​<date>
intervalinterval
interval-arraylist​<interval>
timetime
time-arraylist​<time>
time-tztime-tz
time-tz-arraylist​<time-tz>
timestamptimestamp
timestamp-arraylist​<timestamp>
timestamp-tztimestamp-tz
timestamp-tz-arraylist​<timestamp-tz>
jsonstringJSON
json-arraylist​<string>
jsonbstring
jsonb-arraylist​<string>
moneynumericMoney (use is discouraged)
money-arraylist​<numeric>
pg-lsnu64Postgres-internal
pg-lsn-arraylist​<u64>
pg-snapshottuple​<xmin, xmax, xip-list>see: https://www.postgresql.org/docs/current/functions-info.html#FUNCTIONS-PG-SNAPSHOT-PARTS
txid-snapshots64
namestringText
name-arraylist​<string>
textstring
text-arraylist​<string>
xmlstring
xml-arraylist​<string>
ts-querystringFull Text Search
ts-vectorlist​<lexeme>
uuidstringUUIDs
uuid-arraylist​<string>
hstorelist​<tuple​<string, option​<string>>>Containers