Interval "1 month" is equals to interval "30 days" - WHY? - Mailing list pgsql-general

From Dmitry Koterov
Subject Interval "1 month" is equals to interval "30 days" - WHY?
Date
Msg-id CA+CZih5=yg9o4BM0+5mifTqnqo+1HEu+--TgUDGYqkTyhu1rig@mail.gmail.com
Whole thread Raw
Responses Re: Interval "1 month" is equals to interval "30 days" - WHY?  (Dmitry Koterov <dmitry@koterov.ru>)
List pgsql-general
Hello.

I've just discovered a very strange thing:

SELECT '1 mon'::interval = '30 days'::interval   --> TRUE???

This returns TRUE (also affected when I create an unique index using an interval column). Why?

I know that Postgres stores monthes, days and seconds in interval values separately. So how to make "=" to compare intervals "part-by-part" and not treat "1 mon" as "30 days"?

P.S.
Reproduced at least in 8.4 and 9.1.

pgsql-general by date:

Previous
From: Adriaan Joubert
Date:
Subject: Memory error in user-defined aggregation function
Next
From: Marek Kielar
Date:
Subject: Re: Clogging problem