Postgres 11 chooses seq scan instead of index-only scan - Mailing list pgsql-general

From twoflower
Subject Postgres 11 chooses seq scan instead of index-only scan
Date
Msg-id 1548339807217-0.post@n3.nabble.com
Whole thread Raw
Responses Re: Postgres 11 chooses seq scan instead of index-only scan  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
I restored a dump of our production DB (running on 9.6) to a Postgres 11 server and wanted to run some basic benchmarks to see if there isn't some unexpected performance drop.

One issue I cannot resolve is the new server using a parallel seq scan instead of index-only scan for the following query:

select count(id) from history_translation

The table has about 123 million rows. The servers use identical configuration. The hardware is similar (4 cores and 18 GB RAM for the 9.6 server vs. 26 GB RAM for the new one). In particular, all the *_cost settings have the default value and the only possibly relevant settings with non-default value are
shared_buffers = 2048MB
work_mem = 32MB

The query finishes in 39 seconds on the 9.6 server and in 2 minutes on the 11 server.

Even when I effectively disable parallel queries (using set max_parallel_workers_per_gather = 0), the new server chooses sequential scan and, of course, takes much longer to finish the query. I tried recreating the index and analyzing the table again, but it did not change anything.

Any help will be welcome.

Sent from the PostgreSQL - general mailing list archive at Nabble.com.

pgsql-general by date:

Previous
From: Stephen Frost
Date:
Subject: Re: [pgbackrest] Expiring the last backup?
Next
From: bhargav kamineni
Date:
Subject: log_min_duration_statement