Ron Mayer <rm_pg@cheapcomplexdevices.com> writes:
> Should the expressions
> select distinct x from t
> and
> select x from t group by x
> have the same effect?
Offhand I think they are theoretically equivalent.
> It seems the optimizer sometimes chooses different plans for those
> expressions. Could the select distinct have used the slightly
> faster hash aggregate?
This is partly historical (the DISTINCT code hasn't been rewritten in a
long time) and partly intentional --- you can choose one phrasing or the
other to control what plan you get.
regards, tom lane