Query running for 12 hours - Mailing list pgsql-general

From Yavuz Selim Sertoğlu
Subject Query running for 12 hours
Date
Msg-id CAJTnKsqCvtCfOq5rL1S0scK6XMef4pjh5ty2pkFAuFCagK6VPQ@mail.gmail.com
Whole thread Raw
Responses Re: Query running for 12 hours  (Adrian Klaver <adrian.klaver@aklaver.com>)
List pgsql-general
Hi everybody,

Today I saw that two queries have been running for more then 12 hours(They are the same query actually).

mydb=# select * from pg_stat_activity where state='active' and state_change < now()-'12 hours'::interval;

-[ RECORD 1 ]----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
datid            | 49426
datname          | mydb
pid              | 7127
usesysid         | 19467
usename          | myuser
application_name |
client_addr      | myip
client_hostname  |
client_port      | 49728
backend_start    | 2018-05-30 02:00:00.011561+03
xact_start       | 2018-05-30 02:00:00.02989+03
query_start      | 2018-05-30 02:00:00.121761+03
state_change     | 2018-05-30 02:00:00.121772+03
waiting          | f
state            | active
backend_xid      |
backend_xmin     | 89519517
query            | select this_.ID as ID107_1_, this_.islemTuru as islemTuru107_1_, this_.kullanici_ID as kullanici7_107_1_, this_.loglananIslem as loglanan3_107_1_, this_.oncekiVeri as oncekiVeri107_1_, this_.tarih as tarih107_1_, this_.veri as veri107_1_, kullanici2_.ID as ID103_0_, kullanici2_.ad as ad103_0_, kullanici2_.aktif as aktif103_0_, kullanici2_.dbUser as dbUser103_0_, kullanici2_.ePosta as ePosta103_0_, kullanici2_.kullaniciAdi as kullanic6_103_0_, kullanici2_.kullaniciTipiEnum as kullanic7_103_0_, kullanici2_.parola as parola103_0_, kullanici2_.soyad as soyad103_0_ from t_log_kaydi this_ left outer join t_kullanici kullanici2_ on this_.kullanici_ID=kullanici2_.ID where this_.tarih<$1
-[ RECORD 2 ]----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
datid            | 49426
datname          | mydb
pid              | 7129
usesysid         | 19467
usename          | myuser
application_name |
client_addr      | myip
client_hostname  |
client_port      | 49730
backend_start    | 2018-05-30 02:00:00.012887+03
xact_start       | 2018-05-30 02:00:00.03225+03
query_start      | 2018-05-30 02:00:00.114039+03
state_change     | 2018-05-30 02:00:00.114048+03
waiting          | f
state            | active
backend_xid      |
backend_xmin     | 89519517
query            | select this_.ID as ID4_1_, this_.islemTuru as islemTuru4_1_, this_.kullanici_ID as kullanici7_4_1_, this_.loglananIslem as loglanan3_4_1_, this_.oncekiVeri as oncekiVeri4_1_, this_.tarih as tarih4_1_, this_.veri as veri4_1_, kullanici2_.ID as ID0_0_, kullanici2_.ad as ad0_0_, kullanici2_.aktif as aktif0_0_, kullanici2_.dbUser as dbUser0_0_, kullanici2_.ePosta as ePosta0_0_, kullanici2_.kullaniciAdi as kullanic6_0_0_, kullanici2_.kullaniciTipiEnum as kullanic7_0_0_, kullanici2_.parola as parola0_0_, kullanici2_.soyad as soyad0_0_ from t_log_kaydi this_ left outer join t_kullanici kullanici2_ on this_.kullanici_ID=kullanici2_.ID where this_.tarih<$1

I've explained this query(I used $1 as now())

mydb=# explain select this_.ID as ID107_1_, this_.islemTuru as islemTuru107_1_, this_.kullanici_ID as kullanici7_107_1_, this_.loglananIslem as loglanan3_107_1_, this_.oncekiVeri as oncekiVeri107_1_, this_.tarih as tarih107_1_, this_.veri as veri107_1_, kullanici2_.ID as ID103_0_, kullanici2_.ad as ad103_0_, kullanici2_.aktif as aktif103_0_, kullanici2_.dbUser as dbUser103_0_, kullanici2_.ePosta as ePosta103_0_, kullanici2_.kullaniciAdi as kullanic6_103_0_, kullanici2_.kullaniciTipiEnum as kullanic7_103_0_, kullanici2_.parola as parola103_0_, kullanici2_.soyad as soyad103_0_ from t_log_kaydi this_ left outer join t_kullanici kullanici2_ on this_.kullanici_ID=kullanici2_.ID where this_.tarih<now();
                                        QUERY PLAN
------------------------------------------------------------------------------------------
 Hash Left Join  (cost=388.90..62945.67 rows=1166999 width=503)
   Hash Cond: (this_.kullanici_id = kullanici2_.id)
   ->  Seq Scan on t_log_kaydi this_  (cost=0.00..46529.99 rows=1166999 width=374)
         Filter: (tarih < now())
   ->  Hash  (cost=278.40..278.40 rows=8840 width=129)
         ->  Seq Scan on t_kullanici kullanici2_  (cost=0.00..278.40 rows=8840 width=129)
(6 rows)

So I explain analyzed this query, it took about 6 seconds.
mydb=# explain(analyze,verbose,buffers) select this_.ID as ID107_1_, this_.islemTuru as islemTuru107_1_, this_.kullanici_ID as kullanici7_107_1_, this_.loglananIslem as loglanan3_107_1_, this_.oncekiVeri as oncekiVeri107_1_, this_.tarih as tarih107_1_, this_.veri as veri107_1_, kullanici2_.ID as ID103_0_, kullanici2_.ad as ad103_0_, kullanici2_.aktif as aktif103_0_, kullanici2_.dbUser as dbUser103_0_, kullanici2_.ePosta as ePosta103_0_, kullanici2_.kullaniciAdi as kullanic6_103_0_, kullanici2_.kullaniciTipiEnum as kullanic7_103_0_, kullanici2_.parola as parola103_0_, kullanici2_.soyad as soyad103_0_ from t_log_kaydi this_ left outer join t_kullanici kullanici2_ on this_.kullanici_ID=kullanici2_.ID where this_.tarih<now();
                                                                                                                                                     QUERY PLAN

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
 Hash Left Join  (cost=388.90..62945.67 rows=1166999 width=503) (actual time=73.423..4781.951 rows=1170716 loops=1)
   Output: this_.id, this_.islemturu, this_.kullanici_id, this_.loglananislem, this_.oncekiveri, this_.tarih, this_.veri, kullanici2_.id, kullanici2_.ad, kullanici2_.aktif, kullanici2_.dbuser, kull
anici2_.eposta, kullanici2_.kullaniciadi, kullanici2_.kullanicitipienum, kullanici2_.parola, kullanici2_.soyad
   Hash Cond: (this_.kullanici_id = kullanici2_.id)
   Buffers: shared hit=29215
   ->  Seq Scan on public.t_log_kaydi this_  (cost=0.00..46529.99 rows=1166999 width=374) (actual time=0.013..1783.133 rows=1170716 loops=1)
         Output: this_.id, this_.islemturu, this_.loglananislem, this_.oncekiveri, this_.tarih, this_.veri, this_.kullanici_id
         Filter: (this_.tarih < now())
         Buffers: shared hit=29025
   ->  Hash  (cost=278.40..278.40 rows=8840 width=129) (actual time=73.284..73.284 rows=9134 loops=1)
         Output: kullanici2_.id, kullanici2_.ad, kullanici2_.aktif, kullanici2_.dbuser, kullanici2_.eposta, kullanici2_.kullaniciadi, kullanici2_.kullanicitipienum, kullanici2_.parola, kullanici2_.
soyad
         Buckets: 16384  Batches: 1  Memory Usage: 1604kB
         Buffers: shared hit=190
         ->  Seq Scan on public.t_kullanici kullanici2_  (cost=0.00..278.40 rows=8840 width=129) (actual time=0.008..34.170 rows=9134 loops=1)
               Output: kullanici2_.id, kullanici2_.ad, kullanici2_.aktif, kullanici2_.dbuser, kullanici2_.eposta, kullanici2_.kullaniciadi, kullanici2_.kullanicitipienum, kullanici2_.parola, kullan
ici2_.soyad
               Buffers: shared hit=190
 Planning time: 0.645 ms
 Execution time: 5938.714 ms
(17 rows)

PostgreSQL version is 9.5.3 on CentOS 7.2.1511

[root@myserver]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

mydb=# select version();
                                                 version
---------------------------------------------------------------------------------------------------------
 PostgreSQL 9.5.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4), 64-bit
(1 row)

I could not figure out what the problem is.
I would be happy if someone could help me to solve this situation.


--

Saygılarımla

Yavuz Selim Sertoğlu

Veritabanı Uzmanı

T  0 312 220 1 220

F  0 312 286 00 10M 0 542 728 08 02


yavuzselim.sertoglu@bisoft.com.tr




pgsql-general by date:

Previous
From: Moreno Andreo
Date:
Subject: Re: pgdg-keyring (or apt-key) failure on fresh 9.6 install
Next
From: PegoraroF10
Date:
Subject: Re: execute block like Firebird does