Jan Kohnert <nospam001-lists@xxxxxxxxxxxxxx> writes: > Am Montag, 11. März 2024, 10:16:33 CET schrieb Jan Kohnert: >> create aggregate prod(numeric) (sfunc = numeric_mul, stype = numeric) > ... > Then again, this seems odd, too, since we're only reimplementing basic stuff that's > already there. I wouldn't be concerned about relying on numeric_mul (or any of the other functions underlying standard operators). They're undocumented only because documenting both the functions and the operators would bloat the documentation to little purpose. Using one makes your code not so portable to non-Postgres DBMSes, but you already crossed that bridge by deciding to use a custom aggregate. A bigger question is whether this implementation actually has the properties you want --- notably, maybe you should be using type float8 not numeric. Numeric would get pretty slow and be carrying an awful lot of decimal places by the end of the query, I fear. regards, tom lane