Why does PostgreSQL accept junk when parsing an INTERVAL
The documentation is the (open source) implementation of ParseDateTime in src/backend/utils/adt/datetime.c, which is used to parse all datetime data types. Essentially, this is not documented, but &quot;working as implemented&quot;.
As to &quot;why&quot;, you'd have to trawl the commit log and the related discussions on -hackers, but since some of that code is old enough to vote, this might prove difficult.
Perhaps the best answer is that the datetime parsing function is deliberately lax to allow various input formats.