The following bug has been logged on the website:
Bug reference: 16939
Logged by: Max Neverov
Email address: neverov(dot)max(at)gmail(dot)com
PostgreSQL version: 13.2
Operating system: alpine
Description:
Execute the query:
postgres=# set intervalstyle='postgres';
SET
postgres=# select interval '-1 year -1 day';
interval
------------------
-1 years -1 days
(1 row)
Expected output:
-1 year -1 day
The code
(https://github.com/postgres/postgres/blob/master/src/backend/utils/adt/datetime.c#L4193)
pluralizes a time unit if the value is not 1, should check both -1 and 1.