Skip to content

API Collection

PostgreSQL data types

Translate Swift data types to Postgres data types and vica versa. Learn how to write translations for your own custom Swift types.

Topics

Essentials

Encoding

  • protocol PostgresEncodable
    A type that can encode itself to a Postgres wire binary representation.
  • protocol PostgresNonThrowingEncodable
    A type that can encode itself to a Postgres wire binary representation. It enforces that the encode(into:context:) does not throw. This allows users to create PostgresQuerys via ExpressibleByStringInterpolation without having to spell try.
  • protocol PostgresDynamicTypeEncodable
    A type that can encode itself to a Postgres wire binary representation. Dynamic types are types that don’t have a well-known Postgres type OID at compile time. For example, custom types created at runtime, such as enums, or extension types whose OID is not stable between databases.
  • protocol PostgresThrowingDynamicTypeEncodable
    A type that can encode itself to a Postgres wire binary representation. Dynamic types are types that don’t have a well-known Postgres type OID at compile time. For example, custom types created at runtime, such as enums, or extension types whose OID is not stable between databases.
  • protocol PostgresArrayEncodable
    A type of which arrays can be encoded into and decoded from a Postgres binary format.
  • protocol PostgresRangeEncodable
    A type that can be encoded into a Postgres range type where it is the bound type.
  • protocol PostgresRangeArrayEncodable
    A type that can be encoded into a Postgres range array type where it is the bound type.
  • struct PostgresEncodingContext
    A context that is passed to Swift objects that are encoded into the Postgres wire format. Used to pass further information to the encoding method.

Decoding

JSON

  • protocol PostgresJSONEncoder
    A protocol that mimics the Foundation JSONEncoder.encode(_:) function. Conform a non-Foundation JSON encoder to this protocol if you want PostgresNIO to be able to use it when encoding JSON & JSONB values (see PostgresNIO._defaultJSONEncoder).
  • protocol PostgresJSONDecoder
    A protocol that mimics the Foundation JSONDecoder.decode(_:from:) function. Conform a non-Foundation JSON decoder to this protocol if you want PostgresNIO to be able to use it when decoding JSON & JSONB values (see PostgresNIO._defaultJSONDecoder).

See Also

Advanced