According to the docs, looks like the ANY type in a strict table might do that:
> In a STRICT table, a column of type ANY always preserves the data exactly as it is received. For an ordinary non-strict table, a column of type ANY will attempt to convert strings that look like numbers into a numeric value, and if successful will store the numeric value rather than the original string
There's still much less data types than in most SQL databases though, e.g. float4, boolean, timestamp etc are missing.