| From: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
|---|---|
| To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | check for interrupts in set_rtable_names |
| Date: | 2015-11-13 22:51:08 |
| Message-ID: | CAMkU=1zq5a74E9JSftTDuyonqnSnSOxja8961qW+qq7Ua74u5w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Someone sent my server a deranged query, it tripped my
auto_explain.log_min_duration setting, that hit some kind of
pathological case while assigning aliases, and now it sits
uninterruptibly in set_rtable_names for hours.
Is there any reason we can't check for interrupts in set_rtable_names,
like the attached?
I've tried it on a deranged query and it seems to do the job.
A deranged query:
perl -le 'print "explain"; print "select * from pgbench_accounts where
aid=5 union" foreach 1..5000; print "select * from pgbench_accounts
where aid=5 ;"'|psql
Cheers,
Jeff
| Attachment | Content-Type | Size |
|---|---|---|
| rtable_names_interrupts.patch | application/octet-stream | 423 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2015-11-13 23:10:39 | Re: Inaccurate results from numeric ln(), log(), exp() and pow() |
| Previous Message | Robert Haas | 2015-11-13 22:09:20 | Re: [DESIGN] ParallelAppend |