> Perhaps we could consider strengthening such inputs on HEAD once v20 > opens for business? It would be really a scary thing to backpatch, > still a major release is a different thing.
This could definitely not be backpatched IMO, a quick check in v14 shows the same behaviour. The gregorian calendar goes from BC1 to AD1 and does not define a year 0, to_date('0000','YYYY') correctly returns year 0001, handling months/days in the same way at least makes it consistent (though I didn't scour the archives to see if it was intentionally done like that).
++ on not backporting it since it may break existing applications.
But we should consider strengthening such inputs for v20.