From: | Patrick B <patrickbakerbr(at)gmail(dot)com> |
---|---|
To: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: ERROR: canceling statement due to statement timeout |
Date: | 2017-01-12 00:59:29 |
Message-ID: | CAJNY3itX93X-D=RWhCrd-6tU9sL9sV5N=aSc31CfVg8cqAo61w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
2017-01-12 13:41 GMT+13:00 Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>:
> On 01/11/2017 04:31 PM, Patrick B wrote:
>
>> 2017-01-12 13:23 GMT+13:00 Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com
>> <mailto:adrian(dot)klaver(at)aklaver(dot)com>>:
>>
>> On 01/11/2017 04:08 PM, Patrick B wrote:
>>
>> Hi guys,
>>
>> I'm using PostgreSQL 9.2 in two different servers.
>>
>> server1 (Master Postgres DB server, running Postgres 9.2 / 128GB
>> ram) -
>> RAID 10 Magnetic disks
>> server2 (Master Postgres DB server, running Postgres 9.2 / 128GB
>> ram) -
>> EBS (AWS) io2 10k IOPS
>>
>> When I run a query, I get this error:
>>
>> ERROR: canceling statement due to statement timeout
>>
>> statement_timeout is 0 in both servers.
>>
>> However, on server1 I am able to run the query. Only on server2
>> that I
>> get that error.
>>
>> Why? If it is same DB???
>>
>>
>> It is not the same DB if it is on two different servers not
>> connected by replication. More to the point statement_timeout is a
>> client connection setting, so is the client you use to connect to
>> server2 the same as the one you use for server1?
>>
>> Is AWS being 'helpful' and setting a timeout?
>>
>> Is there anything in the log before the ERROR shown above that
>> indicates something is setting statement_timeout?
>>
>> <mailto:adrian(dot)klaver(at)aklaver(dot)com>
>>
>>
>> Same database, different database servers; server1 is the old Master
>> server and I'm using it to compare.
>>
>> It is not the client, because if I run the query manually using explain
>> analyze i get the error:
>>
>
> Well that is a client also.
>
> Are you sure there is not something in your AWS setup that is doing this?
>
>
>
>> live_db=> explain analyze
>>
>> SELECT DISTINCT id0
>> FROM
>> (SELECT
>>
>> [...]
>>
>> ERROR: canceling statement due to statement timeout
>>
>>
>> just a remind that on server1 works, but on server2 it doesn't.
>>
>
> Server1 is not on AWS and server2 is, see above.
>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com
>
the statement_timeout was settled to user level. The user I was using to
run the query had 10s statement_timeout. I changed it to 0 and the query
worked.
The query is taking 20s to run. I know it need to be improved and I will do
it.
I think it was working on server1 but not on server2, because as we are
using AWS there is the EBS latency that we didn't have before on slave1.
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2017-01-12 01:09:24 | Re: temporarily disable autovacuum on a database or server ? |
Previous Message | Adrian Klaver | 2017-01-12 00:58:01 | Re: ERROR: canceling statement due to statement timeout |