What are some technical reasons for not including N-ary multiplication in the SQL standard? If I want to add up two values in a query, I can use the + operator.
If I want to sum up all values returned by a query, I can use SUM.

If I want to multiply two values in a query, I can use the * operator.
If, however, I want to multiply together all values returned by a query, there does not appear to be a MULT or PRODUCT or the like.

I find myself using exp(sum(ln(X))), which is ridiculous. It's astonishing that this feature is not present since even more "esoteric" things like covariances and regression coefficients are conveniently available in some dialects.

Why is it that the SQL standard does not have this (I believe) "basic" feature? Surely it must be a conscious design decision. Are there any technical advantages to not having this operation or discouraging users from performing multiplication on large query results?
Yes, the PostgreSQL core team has spent days deciding that this should not be included in core.

Seriously:


a mul operator is not in the SQL standard. 
With PostgreSQL's extensibility, it is trivial to define such an aggregate function yourself:

CREATE AGGREGATE mul(integer) (
   SFUNC = int4mul,
   STYPE = integer,
   INITCOND = '1'
);