On Tue, Jun 05, 2018 at 01:27:01PM -0400, Tom Lane wrote: > David Fetter <da...@fetter.org> writes: > > On Tue, Jun 05, 2018 at 02:56:23PM +1200, David Rowley wrote: > >> True. Although not all built in aggregates have those defined. > > > Just out of curiosity, which ones don't? As of > > 3f85c62d9e825eedd1315d249ef1ad793ca78ed4, pg_aggregate has both of > > those as NOT NULL. > > NOT NULL isn't too relevant; that's just protecting the fixed-width > nature of the catalog rows. What's important is which ones are zero.
Thanks for helping me understand this better. > # select aggfnoid::regprocedure, aggkind from pg_aggregate where > (aggserialfn=0 or aggdeserialfn=0) and aggtranstype = 'internal'::regtype; > aggfnoid | aggkind > ------------------------------------------------------+--------- > [snip] > (19 rows) > > Probably the ordered-set/hypothetical ones aren't relevant for this > issue. > > Whether or not we feel like fixing the above "normal" aggs for this, > the patch would have to not fail on extension aggregates that don't > support serialization. Could there be some kind of default serialization with reasonable properties? Best, David. -- David Fetter <david(at)fetter(dot)org> http://fetter.org/ Phone: +1 415 235 3778 Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate