Using deeply nested ADTs or types with long names can cause postgres to truncate them, emitting warnings like:
NOTICE: identifier "SomeReallyLongIdentifier/etc" will be truncated to "SomeReallyLongIden"
The truncation length is adjustable, defaulting to 63 bytes, and described here https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS.
Relevant example in the rel8 docs: https://hackage.haskell.org/package/rel8-1.6.0.0/docs/Rel8.html#g:19
Ideally this wouldn't happen (rel8 avoids generating very long identifiers) but at least it should be called out in the docs.
Using deeply nested ADTs or types with long names can cause postgres to truncate them, emitting warnings like:
The truncation length is adjustable, defaulting to 63 bytes, and described here https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS.
Relevant example in the
rel8docs: https://hackage.haskell.org/package/rel8-1.6.0.0/docs/Rel8.html#g:19Ideally this wouldn't happen (rel8 avoids generating very long identifiers) but at least it should be called out in the docs.