Supported Data Types

Complete reference for PostgreSQL data types supported by ScryData for shadow database replication and validation.

PostgreSQL Type Support

ScryData supports a wide range of PostgreSQL data types for shadow database replication and validation. This reference documents which types are fully supported, which have partial support with known limitations, and which are not yet supported along with recommended workarounds.

Type support applies to both scry-backfill (initial data synchronization) and scry-proxy (ongoing query validation). When replicating data or comparing query results, ScryData preserves type fidelity to ensure accurate validation.

Fully Supported Types

These PostgreSQL data types are fully supported with complete type fidelity during replication and validation.

Category Types
Numeric smallint, integer, bigint, numeric, real, double precision, serial, bigserial
Text text, varchar(n), char(n), name
Binary bytea
Boolean boolean
Date/Time timestamp, timestamptz, date, time, timetz, interval
JSON json, jsonb
UUID uuid
Network inet, cidr, macaddr
Bit String bit, bit varying
Arrays All array types of supported base types
Enum Custom enum types

Partial Support

These types are supported but may have limitations. Review the notes and apply workarounds as needed.

Type Notes Workaround
Geometric types (point, line, box, etc.) Supported but verify precision Test with your specific precision requirements
Range types May require explicit casting Use explicit casts in queries when comparing
Composite types (custom record types) Complex nested structures may have limitations Flatten to individual columns
Domain types Custom domain constraints are preserved Cast to underlying type

Tip: When working with partially supported types, we recommend testing your specific use case in a non-production environment first to verify behavior meets your requirements.

Not Yet Supported

These types are not currently supported for replication. Use the recommended alternatives.

Type Alternative
PostGIS geometry Use ST_AsText() or ST_AsBinary() to convert to text or binary representation in views
Custom extensions Cast to standard types in views for replication

Important: If your schema contains unsupported types, you can create views that cast these columns to supported types for replication purposes. The original tables remain unchanged.

Request Type Support

Need support for a data type not listed here? We actively expand our type coverage based on user needs.

To request support for a new PostgreSQL data type:

  1. Open an issue on our GitHub repository
  2. Include the PostgreSQL type name and version
  3. Describe your use case and any specific requirements

We prioritize type support requests based on community demand and technical feasibility.

Ready to Get Started?

Get early access and start creating shadow databases for migration testing.

Request Early Access