| From: | David Raymond <David(dot)Raymond(at)tomtom(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org> |
| Subject: | RE: BUG #16031: Group by returns duplicate groups |
| Date: | 2019-09-30 21:48:59 |
| Message-ID: | VI1PR07MB6029CF9430ECED44CB457E3B87820@VI1PR07MB6029.eurprd07.prod.outlook.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
Looking possibly like indexing is part of the issue at the moment.
When I added an array_agg(id_1) in the group by, one of the 'DK' groups had 9, one had 16.
I wrote a script to scan the text dump and counted 25 records with the "name" field value of 'DK'
After the restore which includes the indexes, "count(*) from big_table where name = 'DK';" uses the index which starts with "name" and returns 9.
Dropping that index and running it again returns 25.
I re-created the index...
create index on big_table (name, id_1, id_2);
...and count(*) goes back to returning 9 again.
and group by sees those 9 as one group and the other 16 as a different group.
Will get back to this sometime tomorrow as my brain has now melted.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Geoghegan | 2019-09-30 23:34:09 | Re: BUG #16031: Group by returns duplicate groups |
| Previous Message | David Raymond | 2019-09-30 18:21:33 | RE: BUG #16031: Group by returns duplicate groups |