A few years ago I got a dreaded call from a customer. A point of sale system was taking 45 seconds suddenly to post invoices. This is a big deal for a cash register role, as you can imagine.
So I went on site, ran some diagnostics, isolated the problem query, etc. At this point they were into the slow part of the afternoon so I asked about it on the -perform list along with query plans and everything else I could think of.
Within an hour I had received an email from Tom Lane explaining:
1) What the planner was getting wrong
2) Why the planner was making an error there, and why this was a special planner case.
3) Giving me suggestions as to how to fix it.
First rate support, let me tell you. (Also, planner behavior was changed in a release soon after to accommodate my use case.)
A few years ago I got a dreaded call from a customer. A point of sale system was taking 45 seconds suddenly to post invoices. This is a big deal for a cash register role, as you can imagine.
So I went on site, ran some diagnostics, isolated the problem query, etc. At this point they were into the slow part of the afternoon so I asked about it on the -perform list along with query plans and everything else I could think of.
Within an hour I had received an email from Tom Lane explaining:
1) What the planner was getting wrong
2) Why the planner was making an error there, and why this was a special planner case.
3) Giving me suggestions as to how to fix it.
First rate support, let me tell you. (Also, planner behavior was changed in a release soon after to accommodate my use case.)