Re: Multi-column distinctness. - Mailing list pgsql-hackers

From Tomas Vondra
Subject Re: Multi-column distinctness.
Date
Msg-id 562654FA.7000607@2ndquadrant.com
Whole thread Raw
In response to Re: Multi-column distinctness.  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: Multi-column distinctness.  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Hi,

On 10/20/2015 01:14 PM, Simon Riggs wrote:
> On 19 October 2015 at 20:16, Tomas Vondra <tomas.vondra@2ndquadrant.com
> <mailto:tomas.vondra@2ndquadrant.com>> wrote:
>
>     Hello Kyotaro-san,
>
>     On 09/11/2015 06:58 PM, Tomas Vondra wrote:
>     >
>
>         Maybe the best solution is to abandon the ALTER TABLE approach
>         entirely, and instead invent a new set of commands
>
>             CREATE STATISTICS
>             DROP STATISTICS
>
>         (ALTER STATISTICS seems a bit excessive at this point).
>
>         Another thing is that perhaps we should add names for statistics,
>         just like we do for constraints, for example. Otherwise the DROP
>         STATISTICS handling is rather awkward - for example if the user
>         creates stats twice by mistake, he's unable to drop just one of
>         them.
>
>
>     Do you think this modified syntax makes sense? I'll have time to
>     hack on this over the next few days.
>
>
> Koyotaro's changes to force COLUMN to be required won't get through.
>
> ISTM that we could use COLLECT STATISTICS instead of ADD STATISTICS, and
> use REMOVE STATISTICS instead of DROP STATISTICS. That way we can use
> ALTER TABLE rather than inventing a new command. 5 minute change...

That seems like a neat idea, actually. I'm not sure COLLECT is a good 
choice as it suggest the statistics is actually built, but that only 
happens during ANALYZE. But otherwise this seems to solve the issues 
with keywords and it's quite simple.

>
> Unless there is some better reason for a whole new command?

Not really. The other proposal (adding names for statistics) does not 
require new command. The one thing that would require new command is 
building statistics on multiple tables (for join estimation), but I 
don't have any idea of how that would actually work.

regards

--
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [PATCH] SQL function to report log message
Next
From: Robert Haas
Date:
Subject: Re: ROWS FROM(): A Foolish (In)Consistency?