-
Global information
- Generated on Thu Jan 22 23:59:53 2026
- Log file: /home/postgres/pg_data/data/pg_log/postgresql-2026-01-23_010000.log
- Parsed 2,385,159 log entries in 52s
- Log start from 2026-01-23 01:00:00 to 2026-01-23 01:59:51
-
Overview
Global Stats
- 244 Number of unique normalized queries
- 239,833 Number of queries
- 2h26m32s Total query duration
- 2026-01-23 01:00:00 First query
- 2026-01-23 01:59:51 Last query
- 5,389 queries/s at 2026-01-23 01:45:04 Query peak
- 2h26m32s Total query duration
- 14s586ms Prepare/parse total duration
- 1m16s Bind total duration
- 2h25m1s Execute total duration
- 34 Number of events
- 1 Number of unique normalized events
- 34 Max number of times the same event was reported
- 0 Number of cancellation
- 36 Total number of automatic vacuums
- 57 Total number of automatic analyzes
- 924 Number temporary file
- 168.43 MiB Max size of temporary file
- 6.00 MiB Average size of temporary file
- 5,512 Total number of sessions
- 14 sessions at 2026-01-23 01:57:25 Session peak
- 2d10h12m41s Total duration of sessions
- 38s19ms Average duration of sessions
- 43 Average queries per session
- 1s595ms Average queries duration per session
- 36s424ms Average idle time per session
- 5,513 Total number of connections
- 55 connections/s at 2026-01-23 01:01:19 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 5,389 queries/s Query Peak
- 2026-01-23 01:45:04 Date
SELECT Traffic
Key values
- 2,652 queries/s Query Peak
- 2026-01-23 01:45:04 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 152 queries/s Query Peak
- 2026-01-23 01:00:53 Date
Queries duration
Key values
- 2h26m32s Total query duration
Prepared queries ratio
Key values
- 0.00 Ratio of bind vs prepare
- 0.00 % Ratio between prepared and "usual" statements
General Activity
↑ Back to the top of the General Activity tableDay Hour Count Min duration Max duration Avg duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jan 23 01 239,833 0ms 46s504ms 36ms 4m23s 5m5s 5m11s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jan 23 01 70,922 26 0ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jan 23 01 29,074 2,027 16 96 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Jan 23 01 35,619 92,616 2.60 32.25% Day Hour Count Average / Second Jan 23 01 5,513 1.53/s Day Hour Count Average Duration Average idle time Jan 23 01 5,512 38s19ms 36s440ms -
Connections
Established Connections
Key values
- 55 connections Connection Peak
- 2026-01-23 01:01:19 Date
Connections per database
Key values
- acaweb_fx Main Database
- 5,513 connections Total
Connections per user
Key values
- postgres Main User
- 5,513 connections Total
Connections per host
Key values
- 192.168.1.15 Main host with 1801 connections
- 5,513 Total connections
Host Count 127.0.0.1 113 192.168.0.114 6 192.168.0.216 103 192.168.0.74 1,055 192.168.1.145 152 192.168.1.15 1,801 192.168.1.20 180 192.168.1.231 20 192.168.1.239 2 192.168.1.90 62 192.168.2.126 60 192.168.2.182 12 192.168.2.82 48 192.168.3.199 36 192.168.4.142 1,135 192.168.4.150 10 192.168.4.222 1 192.168.4.225 1 192.168.4.238 16 192.168.4.33 96 192.168.4.98 330 [local] 274 -
Sessions
Simultaneous sessions
Key values
- 14 sessions Session Peak
- 2026-01-23 01:57:25 Date
Histogram of session times
Key values
- 4,443 0-500ms duration
Sessions per database
Key values
- acaweb_fx Main Database
- 5,512 sessions Total
Sessions per user
Key values
- postgres Main User
- 5,512 sessions Total
Sessions per host
Key values
- 192.168.1.15 Main Host
- 5,512 sessions Total
Host Count Total Duration Average Duration 127.0.0.1 113 8s192ms 72ms 192.168.0.114 5 25m2s 5m 192.168.0.216 103 1m52s 1s93ms 192.168.0.74 1,055 6h40m45s 22s792ms 192.168.1.145 152 4h2m43s 1m35s 192.168.1.15 1,801 3h34s 6s15ms 192.168.1.20 180 13h27m42s 4m29s 192.168.1.231 20 9h53m11s 29m39s 192.168.1.239 2 15ms 7ms 192.168.1.90 62 39s210ms 632ms 192.168.2.126 60 6s503ms 108ms 192.168.2.182 12 1s2ms 83ms 192.168.2.82 48 22s354ms 465ms 192.168.3.199 36 1s386ms 38ms 192.168.4.142 1,135 13m21s 706ms 192.168.4.150 10 20h13m12s 2h1m19s 192.168.4.222 1 46s291ms 46s291ms 192.168.4.225 1 207ms 207ms 192.168.4.238 16 21s118ms 1s319ms 192.168.4.33 96 7m58s 4s980ms 192.168.4.98 330 18s38ms 54ms [local] 274 3m34s 782ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 11,759 buffers Checkpoint Peak
- 2026-01-23 01:06:52 Date
- 209.973 seconds Highest write time
- 0.008 seconds Sync time
Checkpoints Wal files
Key values
- 6 files Wal files usage Peak
- 2026-01-23 01:06:52 Date
Checkpoints distance
Key values
- 184.88 Mo Distance Peak
- 2026-01-23 01:06:52 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Jan 23 01 41,986 1,826.347s 0.054s 1,826.735s Day Hour Added Removed Recycled Synced files Longest sync Average sync Jan 23 01 0 0 23 1,850 0.004s 0s Day Hour Count Avg time (sec) Jan 23 01 0 0s Day Hour Mean distance Mean estimate Jan 23 01 31,401.33 kB 67,592.25 kB -
Temporary Files
Size of temporary files
Key values
- 184.80 MiB Temp Files size Peak
- 2026-01-23 01:30:08 Date
Number of temporary files
Key values
- 62 per second Temp Files Peak
- 2026-01-23 01:02:19 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Jan 23 01 924 5.42 GiB 6.00 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 27 1.66 GiB 3.08 MiB 168.43 MiB 62.93 MiB with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = ? ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = ? ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = ?) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, ?::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> ? ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = ?) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = ? where (ok.r is null or ok.r = ?) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = ?) and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > ? * ? and last.eventtimestamp > current_timestamp - interval ? and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval ?) and last.eventtimestamp > current_timestamp - interval ? and broker.r = ?;-
with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;
Date: 2026-01-23 01:20:06 Duration: 0ms
2 25 79.09 MiB 2.99 MiB 3.24 MiB 3.16 MiB select resultuid from relevance_consecutivecandles_results order by resultuid desc limit ?), all_results as ( select ccr.resultuid as resultuid, ccr.direction as direction, s.exchange as exchange, s.symbolid as symbolid, coalesce(bim.code, s.symbol) as symbol_code, s.longname as symbol_name, s.timegranularity as interval, ccr.patternendtime as identified, dtt.timezone as timezone, ccr.qtyconsecutivecandles as length, g.basegroupname, case when rcr.age is not null then rcr.age when ccr.resultuid <= rm.resultuid then ? else ? end as age, case when rcr.relevant is not null then rcr.relevant when ccr.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip, newlevels.filtered from consecutivecandles_results ccr inner join brokersymbollist bsl on bsl.brokerid = ? and bsl.symbolid = ccr.symbolid inner join symbols s on ccr.symbolid = s.symbolid and s.nonliquid = ? inner join downloadersymbolsettings dss on ccr.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join symbolgroup sg on ccr.symbolid = sg.symbolid inner join groups g on sg.groupid = g.groupid inner join brokergroups bg on g.groupid = bg.groupid and bsl.brokerid = bg.brokerid inner join rar_max rm on ? = ? left outer join relevance_consecutivecandles_results rcr on rcr.resultuid = ccr.resultuid left join currencypips cps on cps.symbol = s.symbol left outer join brokerinstrumentmap bim on dss.datafeedinstrumentid = bim.datafeedinstrumentid and bim.brokerid = bsl.brokerid and bim.type = ? left join lateral calc_cc_signal_filter (ccr.resultuid) newlevels on true where ccr.gmttimefound > now() - interval ? and s.deleted = ? and (ccr.simulation = ? or ccr.simulation is null) and (? = ? or s.timegranularity in (...)) and (? = ? or s.exchange in (...)) and (? = ? or coalesce(bim.code, s.symbol) in (...)) and (? = ? or ccr.patternlengthbars <= ?)), results as ( select distinct on (symbolid) * from all_results where (false = ? or relevant = ?) and (? = ? or age <= ?) order by symbolid, resultuid ) select * from results order by identified desc, length desc;-
SELECT resultuid FROM relevance_consecutivecandles_results ORDER BY resultuid DESC LIMIT 1), all_results AS ( SELECT ccr.resultuid AS resultuid, ccr.direction AS direction, s.exchange AS exchange, s.symbolid AS symbolid, coalesce(bim.code, s.symbol) AS symbol_code, s.longname AS symbol_name, s.timegranularity AS interval, ccr.patternendtime AS identified, dtt.timezone AS timezone, ccr.qtyconsecutivecandles AS length, g.basegroupname, CASE WHEN rcr.age IS NOT NULL THEN rcr.age WHEN ccr.resultuid <= rm.resultuid THEN 1 ELSE 0 END as age, CASE WHEN rcr.relevant IS NOT NULL THEN rcr.relevant WHEN ccr.resultuid <= rm.resultuid THEN 0 ELSE 1 END as relevant, cps.pip, newLevels.filtered FROM consecutivecandles_results ccr INNER JOIN brokersymbollist bsl ON bsl.brokerid = $1 AND bsl.symbolid = ccr.symbolid INNER JOIN symbols s ON ccr.symbolid = s.symbolid AND s.nonliquid = 0 INNER JOIN downloadersymbolsettings dss ON ccr.symbolid = dss.symbolid INNER JOIN datafeedstimetable dtt ON dss.classname = dtt.classname AND dtt.dayofweek = 3 INNER JOIN symbolgroup sg on ccr.symbolid = sg.symbolid INNER JOIN groups g ON sg.groupid = g.groupid INNER JOIN brokergroups bg on g.groupid = bg.groupid AND bsl.brokerid = bg.brokerid INNER JOIN rar_max rm ON 1 = 1 LEFT OUTER JOIN relevance_consecutivecandles_results rcr ON rcr.resultuid = ccr.resultuid LEFT JOIN currencypips cps on cps.symbol = s.symbol LEFT OUTER JOIN brokerinstrumentmap bim ON dss.datafeedinstrumentid = bim.datafeedinstrumentid AND bim.brokerid = bsl.brokerid AND bim.TYPE = 'OUTBOUND' LEFT JOIN LATERAL calc_cc_signal_filter (ccr.resultuid) newLevels on true WHERE ccr.gmttimefound > now() - INTERVAL '7 DAYS' AND s.deleted = 0 AND (ccr.simulation = 0 OR ccr.simulation IS NULL) AND ($2 = 0 OR s.timegranularity in ($3, $4, $5, $6, $7, $8, $9)) AND ($10 = 0 OR s.exchange in ($11)) AND ($12 = 0 OR coalesce(bim.code, s.symbol) in ($13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $40, $41, $42, $43, $44, $45, $46, $47, $48, $49, $50, $51, $52, $53, $54, $55, $56, $57, $58, $59, $60, $61, $62, $63, $64, $65, $66, $67, $68, $69, $70, $71, $72, $73, $74, $75, $76, $77, $78, $79, $80, $81, $82, $83, $84, $85, $86, $87, $88, $89, $90, $91, $92, $93, $94, $95, $96, $97, $98, $99, $100, $101, $102, $103, $104, $105, $106, $107, $108, $109, $110, $111, $112, $113, $114, $115, $116, $117, $118, $119, $120, $121, $122, $123, $124, $125, $126, $127, $128, $129, $130, $131, $132, $133, $134, $135, $136, $137, $138, $139, $140, $141, $142, $143, $144, $145, $146, $147, $148, $149, $150, $151, $152, $153, $154, $155, $156, $157, $158, $159, $160, $161, $162, $163, $164, $165, $166, $167, $168, $169, $170, $171, $172, $173, $174, $175, $176, $177, $178, $179, $180, $181, $182, $183, $184, $185, $186, $187, $188, $189, $190, $191, $192, $193, $194, $195, $196, $197, $198, $199, $200, $201, $202, $203, $204, $205, $206, $207, $208, $209, $210, $211, $212, $213, $214, $215, $216, $217, $218, $219, $220, $221, $222, $223, $224, $225)) AND ($226 = 0 OR ccr.patternlengthbars <= $227)), results AS ( SELECT DISTINCT ON (symbolid) * FROM all_results WHERE (FALSE = $228 OR relevant = 1) AND ($229 = 0 OR age <= $230) ORDER BY symbolid, resultuid ) SELECT * from results ORDER BY identified DESC, length DESC;
Date: 2026-01-23 01:00:32 Duration: 0ms
3 22 171.13 MiB 7.77 MiB 7.79 MiB 7.78 MiB jr.resultuid as resultuid, jr.direction as direction, jr.patternendtime as identified, jr.patternlengthbars as length, jr.patternstarttime as patternstarttime, case when jr.trendchangeid = ? then ? else ? end as trendchange, s.exchange as exchange, s.symbolid as symbolid, coalesce(bim.code, s.symbol) as symbol_code, s.longname as symbol_name, s.timegranularity as interval, jp.patternname as pattern_name, dtt.timezone as timezone, ? as age, cps.pip, g.basegroupname from japsticks_results jr inner join brokersymbollist bsl on bsl.brokerid = ? and bsl.symbolid = jr.symbolid inner join relevance_japsticks_results rar on rar.resultuid = jr.resultuid inner join symbols s on jr.symbolid = s.symbolid and s.nonliquid = ? inner join japsticks_patterns jp on jr.patternid = jp.id inner join downloadersymbolsettings dss on jr.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join symbolgroup sg on s.symbolid = sg.symbolid inner join groups g on sg.groupid = g.groupid inner join brokergroups bg on g.groupid = bg.groupid and bsl.brokerid = bg.brokerid left join currencypips cps on cps.symbol = s.symbol left outer join brokerinstrumentmap bim on dss.datafeedinstrumentid = bim.datafeedinstrumentid and bim.brokerid = bsl.brokerid and bim.type = ? where jr.gmttimefound > now() - interval ? and s.deleted = ? and (jr.simulation = ? or jr.simulation is null) and (rar.relevant = ?) --and (semicolon_age = ? or rar.age <= semicolon_age) and (? = ? or s.timegranularity in (...)) and (? = ? or s.exchange in (...)) and (? = ? or coalesce(bim.code, s.symbol) in (...)) and (? = ? or jp.patternname in (...)) and (? = ? or jr.patternlengthbars <= ?) ), results as ( select distinct on (symbolid) * from all_results order by symbolid, resultuid ) select * from results order by identified desc, length desc ;-
jr.resultuid AS resultuid, jr.direction AS direction, jr.patternendtime AS identified, jr.patternlengthbars AS length, jr.patternstarttime AS patternstarttime, case when jr.trendchangeid = 1 then 'Continuation' else 'Reversal' end AS trendchange, s.exchange AS exchange, s.symbolid AS symbolid, coalesce(bim.code, s.symbol) AS symbol_code, s.longname AS symbol_name, s.timegranularity AS interval, jp.patternname AS pattern_name, dtt.timezone AS timezone, 0 AS age, cps.pip, g.basegroupname FROM japsticks_results jr INNER JOIN brokersymbollist bsl ON bsl.brokerid = $1 AND bsl.symbolid = jr.symbolid INNER JOIN relevance_japsticks_results rar ON rar.resultuid = jr.resultuid INNER JOIN symbols s ON jr.symbolid = s.symbolid AND s.nonliquid = 0 INNER JOIN japsticks_patterns jp ON jr.patternid = jp.id INNER JOIN downloadersymbolsettings dss ON jr.symbolid = dss.symbolid INNER JOIN datafeedstimetable dtt ON dss.classname = dtt.classname AND dtt.dayofweek = 3 INNER JOIN symbolgroup sg on s.symbolid = sg.symbolid INNER JOIN groups g ON sg.groupid = g.groupid INNER JOIN brokergroups bg on g.groupid = bg.groupid AND bsl.brokerid = bg.brokerid LEFT JOIN currencypips cps on cps.symbol = s.symbol LEFT OUTER JOIN brokerinstrumentmap bim ON dss.datafeedinstrumentid = bim.datafeedinstrumentid AND bim.brokerid = bsl.brokerid AND bim.TYPE = 'OUTBOUND' WHERE jr.gmttimefound > now() - INTERVAL '7 DAYS' AND s.deleted = 0 AND (jr.simulation = 0 OR jr.simulation IS NULL) AND (rar.relevant = 1) --AND (semicolon_age = 0 OR rar.age <= semicolon_age) AND ($2 = 0 OR s.timegranularity in ($3)) AND ($4 = 0 OR s.exchange in ($5)) AND ($6 = 0 OR coalesce(bim.code, s.symbol) in ($7)) AND ($8 = 0 OR jp.patternname in ($9)) AND ($10 = 0 OR jr.patternlengthbars <= $11)), results AS ( SELECT DISTINCT ON (symbolid) * FROM all_results ORDER BY symbolid, resultuid ) SELECT * from results ORDER BY identified DESC, length DESC;
Date: 2026-01-23 01:00:22 Duration: 0ms
4 16 737.50 MiB 46.09 MiB 46.09 MiB 46.09 MiB update solr_relevance_old set new_hod_correct = sub.hod_correct, new_hod_percent = sub.hod_percent, new_hod_total = sub.hod_total, new_pattern_correct = sub.pattern_correct, new_pattern_percent = sub.pattern_percent, new_pattern_total = sub.pattern_total, new_percent = sub.percent, new_symbol_correct = sub.symbol_correct, new_symbol_percent = sub.symbol_percent, new_symbol_total = sub.symbol_total from ( select distinct resultuid, hod_correct, hod_percent, hod_total, hod, pattern_correct, pattern_percent, pattern_total, percent, symbol_correct, symbol_percent, symbol_total from whatshot_probability where type = ?) sub where result_uid = sub.resultuid;-
UPDATE solr_relevance_old SET new_hod_correct = sub.hod_correct, new_hod_percent = sub.hod_percent, new_hod_total = sub.hod_total, new_pattern_correct = sub.pattern_correct, new_pattern_percent = sub.pattern_percent, new_pattern_total = sub.pattern_total, new_percent = sub.percent, new_symbol_correct = sub.symbol_correct, new_symbol_percent = sub.symbol_percent, new_symbol_total = sub.symbol_total FROM ( select distinct resultuid, hod_correct, hod_percent, hod_total, hod, pattern_correct, pattern_percent, pattern_total, percent, symbol_correct, symbol_percent, symbol_total FROM whatshot_probability WHERE type = 'cp') sub WHERE result_uid = sub.resultuid;
Date: 2026-01-23 01:01:12 Duration: 0ms
5 16 1.22 GiB 78.22 MiB 78.22 MiB 78.22 MiB with max_ra as ( select resultuid from relevance_keylevels_results order by resultuid desc limit ?) update solr_relevance_old set newrelevant = sub.relevant, newage = sub.age from ( select so.uuid, case when ra.relevant is not null then ra.relevant when so.result_uid < max_ra.resultuid then ? else ? end as relevant, case when ra.age is not null then ra.age when so.result_uid < max_ra.resultuid then ? else ? end as age, so.result_uid from max_ra, solr_relevance_old so inner join keylevels_results k on so.result_uid = k.resultuid and so.uuid ilike ? inner join downloadersymbolsettings dss on k.symbolid = dss.symbolid left outer join relevance_keylevels_results ra on so.result_uid = ra.resultuid and so.uuid ilike ?) sub where solr_relevance_old.result_uid = sub.result_uid and solr_relevance_old.uuid ilike ?; update solr_relevance_old set newrelevant = ? where result_uid in ( select result_uid from solr_relevance_old s left outer join keylevels_results a on a.resultuid = s.result_uid where s.uuid ilike ? and a.resultuid is null); update solr_relevance_old set new_hod_correct = sub.hod_correct, new_hod_percent = sub.hod_percent, new_hod_total = sub.hod_total, new_pattern_correct = sub.pattern_correct, new_pattern_percent = sub.pattern_percent, new_pattern_total = sub.pattern_total, new_percent = sub.percent, new_symbol_correct = sub.symbol_correct, new_symbol_percent = sub.symbol_percent, new_symbol_total = sub.symbol_total from ( select distinct resultuid, hod_correct, hod_percent, hod_total, hod, pattern_correct, pattern_percent, pattern_total, percent, symbol_correct, symbol_percent, symbol_total from whatshot_probability where type in (...)) sub where result_uid = sub.resultuid;-
with max_ra as ( select resultuid from relevance_keylevels_results order by resultuid desc limit 1) update solr_relevance_old set newrelevant = sub.relevant, newage = sub.age from ( select so.uuid, case when ra.relevant is not null then ra.relevant when so.result_uid < max_ra.resultuid then 0 else 1 end as relevant, case when ra.age is not null then ra.age when so.result_uid < max_ra.resultuid then 11 else 0 end as age, so.result_uid from max_ra, solr_relevance_old so inner join keylevels_results k on so.result_uid = k.resultuid and so.uuid ilike 'kl_%' inner join downloadersymbolsettings dss on k.symbolid = dss.symbolid left outer join relevance_keylevels_results ra on so.result_uid = ra.resultuid and so.uuid ilike 'kl_%') sub where solr_relevance_old.result_uid = sub.result_uid and solr_relevance_old.uuid ilike 'kl_%'; update solr_relevance_old set newrelevant = 0 where result_uid in ( select result_uid from solr_relevance_old s left outer join keylevels_results a on a.resultuid = s.result_uid where s.uuid ilike 'kl_%' and a.resultuid is null); UPDATE solr_relevance_old SET new_hod_correct = sub.hod_correct, new_hod_percent = sub.hod_percent, new_hod_total = sub.hod_total, new_pattern_correct = sub.pattern_correct, new_pattern_percent = sub.pattern_percent, new_pattern_total = sub.pattern_total, new_percent = sub.percent, new_symbol_correct = sub.symbol_correct, new_symbol_percent = sub.symbol_percent, new_symbol_total = sub.symbol_total FROM ( select distinct resultuid, hod_correct, hod_percent, hod_total, hod, pattern_correct, pattern_percent, pattern_total, percent, symbol_correct, symbol_percent, symbol_total FROM whatshot_probability WHERE type in ('kl', 'ekl')) sub WHERE result_uid = sub.resultuid;
Date: 2026-01-23 01:01:16 Duration: 0ms
6 9 26.90 MiB 2.98 MiB 2.99 MiB 2.99 MiB select resultuid from relevance_autochartist_results order by resultuid desc limit ?), ar as ( select a.*, rr.age, rr.relevant from autochartist_results a left outer join relevance_autochartist_results rr on a.resultuid = rr.resultuid where case when false = ? then true else a.resultuid > ( select min(resultuid) from relevance_autochartist_results) end), all_results as ( select ar.resultuid as resultuid, ar.direction as direction, ar.predictiontimeto as predictiontimeto, ar.predictionpricefrom as predictionpricefrom, ar.predictionpriceto as predictionpriceto, cp.pip as pip, s.exchange as exchange, s.symbolid as symbolid, coalesce(bim.code, s.symbol) as symbol_code, s.longname as symbol_name, s.timegranularity as interval, ar.pattern as pattern_name, ar.breakout as breakout, ar.patternendtime as identified, dtt.timezone as timezone, ar.patternlengthbars as length, g.basegroupname, newlevels.profit, newlevels.stop, newlevels.filtered, case when ar.age is not null then ar.age when ar.resultuid <= rm.resultuid then ? else ? end as age, case when ar.relevant is not null then ar.relevant when ar.resultuid <= rm.resultuid then ? else ? end as relevant from ar inner join symbols s on ar.symbolid = s.symbolid and s.nonliquid = ? inner join brokersymbollist bsl on bsl.brokerid = ? and bsl.symbolid = s.symbolid inner join symbolgroup sg on bsl.symbolid = sg.symbolid inner join groups g on sg.groupid = g.groupid inner join brokergroups bg on g.groupid = bg.groupid and bsl.brokerid = bg.brokerid inner join downloadersymbolsettings dss on sg.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join rar_max rm on ? = ? left outer join autochartist_symbolupdates au on dss.symbolid = au.symbolid left outer join currencypips cp on s.symbol = cp.symbol left join lateral calc_cp_signal (ar.resultuid) newlevels on true left outer join brokerinstrumentmap bim on dss.datafeedinstrumentid = bim.datafeedinstrumentid and bim.brokerid = bsl.brokerid and bim.type = ? where ar.gmttimefound > now() - interval ? and dss.enabled = ? and s.deleted = ? and (ar.simulation = ? or ar.simulation is null) and (? = ? or s.timegranularity in (...)) and (? = ? or s.exchange in (...)) and (? = ? or coalesce(bim.code, s.symbol) in (...)) and (? = ? or ar.pattern in (...)) and (? = ? or (? = ? and ar.breakout >= ?) or (? = ? and ar.breakout < ?)) and (? = ? or ar.patternlengthbars <= ?) and newlevels.filtered = false and ar.patternstarttime >= coalesce(au.earliestpricedatetime, ?::timestamp without time zone) -- to make sure patternstarttime is in our t-tables ), results as ( select distinct on (symbolid) * from all_results where (false = ? or relevant = ?) and (? = ? or age <= ?) order by symbolid, resultuid ) select * from results order by identified desc, length desc ;-
SELECT resultuid FROM relevance_autochartist_results ORDER BY resultuid DESC LIMIT 1), ar AS ( SELECT a.*, rr.age, rr.relevant from autochartist_results a LEFT OUTER JOIN relevance_autochartist_results rr on a.resultuid = rr.resultuid WHERE CASE WHEN FALSE = $1 THEN true ELSE a.resultuid > ( select min(resultuid) from relevance_autochartist_results) END), all_results AS ( SELECT ar.resultuid AS resultuid, ar.direction AS direction, ar.predictiontimeto AS predictiontimeto, ar.predictionpricefrom AS predictionpricefrom, ar.predictionpriceto AS predictionpriceto, cp.pip AS pip, s.exchange AS exchange, s.symbolid AS symbolid, coalesce(bim.code, s.symbol) AS symbol_code, s.longname AS symbol_name, s.timegranularity AS interval, ar.pattern AS pattern_name, ar.breakout AS breakout, ar.patternendtime AS identified, dtt.timezone AS timezone, ar.patternlengthbars AS length, g.basegroupname, newLevels.profit, newLevels.stop, newLevels.filtered, CASE WHEN ar.age IS NOT NULL THEN ar.age WHEN ar.resultuid <= rm.resultuid THEN 11 ELSE 0 END as age, CASE WHEN ar.relevant IS NOT NULL THEN ar.relevant WHEN ar.resultuid <= rm.resultuid THEN 0 ELSE 1 END as relevant FROM ar INNER JOIN symbols s ON ar.symbolid = s.symbolid AND s.nonliquid = 0 INNER JOIN brokersymbollist bsl ON bsl.brokerid = $2 AND bsl.symbolid = s.symbolid INNER JOIN symbolgroup sg on bsl.symbolid = sg.symbolid INNER JOIN groups g ON sg.groupid = g.groupid INNER JOIN brokergroups bg on g.groupid = bg.groupid AND bsl.brokerid = bg.brokerid INNER JOIN downloadersymbolsettings dss ON sg.symbolid = dss.symbolid INNER JOIN datafeedstimetable dtt ON dss.classname = dtt.classname AND dtt.dayofweek = 3 INNER JOIN rar_max rm ON 1 = 1 LEFT OUTER JOIN autochartist_symbolupdates au on dss.symbolid = au.symbolid LEFT OUTER JOIN currencypips cp ON s.symbol = cp.symbol LEFT JOIN LATERAL calc_cp_signal (ar.resultuid) newLevels on true LEFT OUTER JOIN brokerinstrumentmap bim ON dss.datafeedinstrumentid = bim.datafeedinstrumentid AND bim.brokerid = bsl.brokerid AND bim.TYPE = 'OUTBOUND' WHERE ar.gmttimefound > now() - INTERVAL '7 DAYS' AND dss.enabled = 1 AND s.deleted = 0 AND (ar.simulation = 0 OR ar.simulation IS NULL) AND ($3 = 0 OR s.timegranularity in ($4)) AND ($5 = 0 OR s.exchange in ($6)) AND ($7 = 0 OR coalesce(bim.code, s.symbol) in ($8)) AND ($9 = 0 OR ar.pattern in ($10)) AND ($11 = 0 OR ($12 = 1 AND ar.breakout >= 0) OR ($13 = 2 AND ar.breakout < 0)) AND ($14 = 0 OR ar.patternlengthbars <= $15) and newLevels.filtered = false AND ar.patternstarttime >= coalesce(au.earliestpricedatetime, '1900-01-01'::timestamp without time zone) -- To make sure patternstarttime is in our t-tables ), results AS ( SELECT DISTINCT ON (symbolid) * FROM all_results WHERE (FALSE = $16 OR relevant = 1) AND ($17 = 0 OR age <= $18) ORDER BY symbolid, resultuid ) SELECT * from results ORDER BY identified DESC, length DESC;
Date: 2026-01-23 01:05:40 Duration: 0ms
7 8 1.03 GiB 132.35 MiB 132.41 MiB 132.39 MiB select updateresultsmaterializedview ();-
select updateresultsmaterializedview ();
Date: 2026-01-23 01:02:26 Duration: 0ms
8 4 371.45 MiB 92.83 MiB 92.90 MiB 92.86 MiB select updateageforrelevantresults ();-
select updateageforrelevantresults ();
Date: 2026-01-23 01:02:11 Duration: 0ms
9 1 2.99 MiB 2.99 MiB 2.99 MiB 2.99 MiB select resultuid from relevance_keylevels_results order by resultuid desc limit ? ) select case when a.old_resultuid = ? then a.old_resultuid else a.resultuid end as ruid, s.symbolid as sid, s.symbol as sym, longname, shortname, exchange as e, timegranularity as tg, a.patternid as pid, a.direction as d, a.patternprice as pp, atbaridentified as pet, case when (x9 != ?) then x9 when (x8 != ?) then x8 when (x7 != ?) then x7 when (x6 != ?) then x6 when (x5 != ?) then x5 when (x4 != ?) then x4 when (x3 != ?) then x3 when (x2 != ?) then x2 end as pst, patternprice as patp, x0, x1, x2, case when (x3 != ?) then x3 else ? end as x3, case when (x4 != ?) then x4 else ? end as x4, case when (x5 != ?) then x5 else ? end as x5, case when (x6 != ?) then x6 else ? end as x6, case when (x7 != ?) then x7 else ? end as x7, case when (x8 != ?) then x8 else ? end as x8, errormargin as erm, breakoutprice as pe, breakoutbars as be, breakout, atbaridentified as atbar, atpriceidentified as atprice, patternlengthbars as l, bandwidth as bw, qtytp as qtp, p.patternname as patternname, dtt.absolutetimezoneoffset as tzos, dtt.timezone as timezone, approachingtimestamp as apt, approachingregion as apr, predictionpricefrom as ppf, predictionpriceto as ppt, predictiontimefrom as ptf, predictiontimebars as ptb, furthestprice as fp, newlevels.filtered, a.uniquepointsvalue as upv, case when rar.age is not null then rar.age when a.resultuid <= rm.resultuid then ? else ? end as age, case when rar.relevant is not null then rar.relevant when a.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip from keylevels_results a inner join downloadersymbolsettings dss on a.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname inner join symbols s on a.symbolid = s.symbolid inner join hrspatterns p on a.patternid = p.patternid inner join rar_max rm on ? = ? left outer join relevance_keylevels_results rar on a.resultuid = rar.resultuid left join lateral calc_kl_signal_filter (a.resultuid) newlevels on true left join currencypips cps on cps.symbol = s.symbol where (a.old_resultuid = ? or a.resultuid = ?) and dtt.dayofweek = ?;-
SELECT resultuid FROM relevance_keylevels_results ORDER BY resultuid DESC LIMIT 1 ) SELECT CASE WHEN a.old_resultuid = $1 THEN a.old_resultuid ELSE a.resultuid END AS ruid, s.symbolid AS sid, s.symbol AS sym, longname, shortname, Exchange AS e, timegranularity AS tg, a.PatternID AS pid, a.direction AS d, a.patternprice AS pp, atbaridentified AS pet, CASE WHEN (x9 != '') THEN x9 WHEN (x8 != '') THEN x8 WHEN (x7 != '') THEN x7 WHEN (x6 != '') THEN x6 WHEN (x5 != '') THEN x5 WHEN (x4 != '') THEN x4 WHEN (x3 != '') THEN x3 WHEN (x2 != '') THEN x2 END AS pst, PatternPrice AS patp, x0, x1, x2, CASE WHEN (x3 != '') THEN x3 ELSE '0' END AS x3, CASE WHEN (x4 != '') THEN x4 ELSE '0' END AS x4, CASE WHEN (x5 != '') THEN x5 ELSE '0' END AS x5, CASE WHEN (x6 != '') THEN x6 ELSE '0' END AS x6, CASE WHEN (x7 != '') THEN x7 ELSE '0' END AS x7, CASE WHEN (x8 != '') THEN x8 ELSE '0' END AS x8, errorMargin AS erm, breakoutprice AS pE, breakoutbars AS be, breakout, atbaridentified AS atBar, atpriceidentified AS atPrice, PatternLengthBars AS l, Bandwidth AS bw, QtyTP AS qtp, p.patternname AS patternname, dtt.absolutetimezoneoffset AS tzOs, dtt.timezone AS timezone, approachingtimestamp AS apt, approachingregion AS apr, predictionpricefrom AS ppf, predictionpriceto AS ppt, predictiontimefrom AS ptf, predictiontimebars AS ptb, furthestprice AS fp, newLevels.filtered, a.uniquepointsvalue AS upv, CASE WHEN rar.age IS NOT NULL THEN rar.age WHEN a.resultuid <= rm.resultuid THEN 11 ELSE 0 END as age, CASE WHEN rar.relevant IS NOT NULL THEN rar.relevant WHEN a.resultuid <= rm.resultuid THEN 0 ELSE 1 END as relevant, cps.pip FROM keylevels_results a INNER JOIN downloadersymbolsettings dss ON a.symbolid = dss.symbolid INNER JOIN datafeedstimetable dtt ON dss.classname = dtt.classname INNER JOIN symbols s ON a.symbolid = s.symbolid INNER JOIN hrspatterns p ON a.patternid = p.patternid INNER JOIN rar_max rm ON 1 = 1 LEFT OUTER JOIN relevance_keylevels_results rar ON a.resultuid = rar.resultuid LEFT JOIN LATERAL calc_kl_signal_filter (a.resultuid) newLevels on true LEFT JOIN currencypips cps on cps.symbol = s.symbol WHERE (a.old_resultuid = $2 OR a.resultuid = $3) AND dtt.dayofweek = 3;
Date: 2026-01-23 01:09:11 Duration: 0ms
10 1 2.99 MiB 2.99 MiB 2.99 MiB 2.99 MiB select resultuid from relevance_autochartist_results order by resultuid desc limit ? ) select a.symbolid, pattern, patternid, resy0, resy1, resx0, resx1, supporty0, supporty1, supportx0, supportx1, predictiontimeto, patternstarttime, timegranularity, patternendtime, direction, trendchange, patternlengthbars, patternquality, case when a.old_resultuid = ? then a.old_resultuid else a.resultuid end as uid, breakout, initialtrend, volumeincrease, symmetry as uniformity, predictionpricefrom, predictionpriceto, noise, s.exchange, s.symbol, s.longname, s.shortname, breakout, dtt.timezone, patternstartprice, patternendprice, qtytp, newlevels.profit, newlevels.stop, newlevels.filtered, case when rar.age is not null then rar.age when a.resultuid <= rm.resultuid then ? else ? end as age, case when rar.relevant is not null then rar.relevant when a.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip from autochartist_results a inner join downloadersymbolsettings dss on a.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname inner join symbols s on a.symbolid = s.symbolid inner join patterns p on p.patternname = a.pattern inner join rar_max rm on ? = ? left outer join relevance_autochartist_results rar on rar.resultuid = a.resultuid left join lateral calc_cp_signal (a.resultuid) newlevels on true left join currencypips cps on cps.symbol = s.symbol where (a.old_resultuid = ? or a.resultuid = ?) and dtt.dayofweek = ?;-
SELECT resultuid FROM relevance_autochartist_results ORDER BY resultuid DESC LIMIT 1 ) SELECT a.symbolid, pattern, patternid, resy0, resy1, resx0, resx1, supporty0, supporty1, supportx0, supportx1, predictiontimeto, patternstarttime, timegranularity, patternendtime, direction, trendchange, patternlengthbars, patternquality, CASE WHEN a.old_resultuid = $1 THEN a.old_resultuid ELSE a.resultuid END AS uid, breakout, initialtrend, volumeincrease, symmetry AS uniformity, predictionpricefrom, predictionpriceto, noise, s.exchange, s.symbol, s.longname, s.shortname, breakout, dtt.timezone, patternStartPrice, patternEndPrice, qtytp, newLevels.profit, newLevels.stop, newLevels.filtered, CASE WHEN rar.age IS NOT NULL THEN rar.age WHEN a.resultuid <= rm.resultuid THEN 11 ELSE 0 END as age, CASE WHEN rar.relevant IS NOT NULL THEN rar.relevant WHEN a.resultuid <= rm.resultuid THEN 0 ELSE 1 END as relevant, cps.pip FROM autochartist_results a INNER JOIN downloadersymbolsettings dss ON a.symbolid = dss.symbolid INNER JOIN datafeedstimetable dtt ON dss.classname = dtt.classname INNER JOIN symbols s ON a.symbolid = s.symbolid INNER JOIN patterns p ON p.patternname = a.pattern INNER JOIN rar_max rm ON 1 = 1 LEFT OUTER JOIN relevance_autochartist_results rar ON rar.resultuid = a.resultuid LEFT JOIN LATERAL calc_cp_signal (a.resultuid) newLevels on true LEFT JOIN currencypips cps on cps.symbol = s.symbol WHERE (a.old_resultuid = $2 OR a.resultuid = $3) AND dtt.dayofweek = 3;
Date: 2026-01-23 01:08:14 Duration: 0ms
11 1 2.99 MiB 2.99 MiB 2.99 MiB 2.99 MiB distinct on (coalesce(bim.code, s.symbol) , s.exchange, s.timegranularity, df.timezone) s.symbolid as id, coalesce(bim.code, s.symbol) as name, s.symbol as symbol, dss.downloadersymbol as ticker, s.exchange as exchange, s.timegranularity as interval, df.timezone as timezone from symbols s inner join downloadersymbolsettings dss on dss.symbolid = s.symbolid inner join datafeedstimetable df on df.classname ilike dss.classname left join brokersymbollist bsl on bsl.brokerid = ? and bsl.symbolid = s.symbolid left outer join brokerinstrumentmap bim on dss.datafeedinstrumentid = bim.datafeedinstrumentid and bim.brokerid = ? and bim.type = ? where s.symbolid = ?;-
DISTINCT ON (coalesce(bim.code, s.symbol) , s.exchange, s.timegranularity, df.timezone) s.symbolid as id, coalesce(bim.code, s.symbol) as name, s.symbol as symbol, dss.downloadersymbol as ticker, s.exchange as exchange, s.timegranularity as interval, df.timezone as timezone FROM symbols s INNER JOIN downloadersymbolsettings dss ON dss.symbolid = s.symbolid INNER JOIN datafeedstimetable df ON df.classname ILIKE dss.classname LEFT JOIN brokersymbollist bsl ON bsl.brokerid = $1 AND bsl.symbolid = s.symbolid LEFT OUTER JOIN brokerinstrumentmap bim ON dss.datafeedinstrumentid = bim.datafeedinstrumentid AND bim.brokerid = $2 AND bim.TYPE = 'OUTBOUND' WHERE s.symbolid = $3;
Date: 2026-01-23 01:01:11 Duration: 0ms
Queries generating the largest temporary files
Rank Size Query 1 168.43 MiB with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;[ Date: 2026-01-23 01:20:06 ]
2 164.59 MiB with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;[ Date: 2026-01-23 01:00:07 ]
3 161.76 MiB with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;[ Date: 2026-01-23 01:10:05 ]
4 161.23 MiB with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;[ Date: 2026-01-23 01:40:05 ]
5 132.41 MiB select updateresultsmaterializedview ();[ Date: 2026-01-23 01:32:21 ]
6 132.41 MiB select updateresultsmaterializedview ();[ Date: 2026-01-23 01:47:27 ]
7 132.39 MiB select updateresultsmaterializedview ();[ Date: 2026-01-23 01:35:32 ]
8 132.39 MiB select updateresultsmaterializedview ();[ Date: 2026-01-23 01:17:24 ]
9 132.39 MiB select updateresultsmaterializedview ();[ Date: 2026-01-23 01:50:32 ]
10 132.39 MiB select updateresultsmaterializedview ();[ Date: 2026-01-23 01:02:26 ]
11 132.38 MiB select updateresultsmaterializedview ();[ Date: 2026-01-23 01:20:32 ]
12 132.35 MiB select updateresultsmaterializedview ();[ Date: 2026-01-23 01:05:34 ]
13 121.36 MiB with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;[ Date: 2026-01-23 01:50:04 ]
14 92.90 MiB select updateageforrelevantresults ();[ Date: 2026-01-23 01:02:11 ]
15 92.88 MiB select updateageforrelevantresults ();[ Date: 2026-01-23 01:32:06 ]
16 92.84 MiB select updateageforrelevantresults ();[ Date: 2026-01-23 01:47:07 ]
17 92.83 MiB select updateageforrelevantresults ();[ Date: 2026-01-23 01:17:05 ]
18 92.52 MiB with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;[ Date: 2026-01-23 01:30:05 ]
19 78.87 MiB with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;[ Date: 2026-01-23 01:30:06 ]
20 78.22 MiB with max_ra as ( select resultuid from relevance_keylevels_results order by resultuid desc limit 1) update solr_relevance_old set newrelevant = sub.relevant, newage = sub.age from ( select so.uuid, case when ra.relevant is not null then ra.relevant when so.result_uid < max_ra.resultuid then 0 else 1 end as relevant, case when ra.age is not null then ra.age when so.result_uid < max_ra.resultuid then 11 else 0 end as age, so.result_uid from max_ra, solr_relevance_old so inner join keylevels_results k on so.result_uid = k.resultuid and so.uuid ilike 'kl_%' inner join downloadersymbolsettings dss on k.symbolid = dss.symbolid left outer join relevance_keylevels_results ra on so.result_uid = ra.resultuid and so.uuid ilike 'kl_%') sub where solr_relevance_old.result_uid = sub.result_uid and solr_relevance_old.uuid ilike 'kl_%'; update solr_relevance_old set newrelevant = 0 where result_uid in ( select result_uid from solr_relevance_old s left outer join keylevels_results a on a.resultuid = s.result_uid where s.uuid ilike 'kl_%' and a.resultuid is null); UPDATE solr_relevance_old SET new_hod_correct = sub.hod_correct, new_hod_percent = sub.hod_percent, new_hod_total = sub.hod_total, new_pattern_correct = sub.pattern_correct, new_pattern_percent = sub.pattern_percent, new_pattern_total = sub.pattern_total, new_percent = sub.percent, new_symbol_correct = sub.symbol_correct, new_symbol_percent = sub.symbol_percent, new_symbol_total = sub.symbol_total FROM ( select distinct resultuid, hod_correct, hod_percent, hod_total, hod, pattern_correct, pattern_percent, pattern_total, percent, symbol_correct, symbol_percent, symbol_total FROM whatshot_probability WHERE type in ('kl', 'ekl')) sub WHERE result_uid = sub.resultuid;[ Date: 2026-01-23 01:01:16 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0 sec Highest CPU-cost vacuum
Table
Database - Date
- 0 sec Highest CPU-cost analyze
Table
Database - Date
Analyzes per table
Key values
- public.solr_relevance_old (16) Main table analyzed (database acaweb_fx)
- 57 analyzes Total
Table Number of analyzes acaweb_fx.public.solr_relevance_old 16 acaweb_fx.pg_catalog.pg_attribute 5 acaweb_fx.public.datafeeds_latestrun 4 acaweb_fx.public.relevance_keylevels_results 4 acaweb_fx.pg_catalog.pg_class 4 acaweb_fx.public.relevance_fibonacci_results 4 acaweb_fx.public.relevance_autochartist_results 4 acaweb_fx.public.latest_t15_candle_view 3 acaweb_fx.pg_catalog.pg_type 3 acaweb_fx.pg_catalog.pg_index 2 acaweb_fx.public.autochartist_symbolupdates 2 socialmedia.public.processes 1 acaweb_fx.pg_catalog.pg_depend 1 acaweb_fx.public.latest_candle_datetime_per_receng 1 acaweb_fx.public.relevance_consecutivecandles_results 1 acaweb_fx.public.symbollatestupdatetime 1 acaweb_fx.public.bigmovement_results_underlying 1 Total 57 Vacuums per table
Key values
- public.solr_relevance_old (16) Main table vacuumed on database acaweb_fx
- 36 vacuums Total
Index Buffer usage Skipped WAL usage Table Vacuums scans hits misses dirtied pins frozen records full page bytes acaweb_fx.public.solr_relevance_old 16 16 12,593 0 65 0 0 9,387 1,118 5,380,102 acaweb_fx.public.datafeeds_latestrun 5 0 585 0 14 0 0 73 11 63,272 acaweb_fx.pg_toast.pg_toast_2619 2 2 320 0 66 0 0 215 62 242,411 acaweb_fx.public.relevance_autochartist_results 2 2 6,842 0 180 2 488 1,364 167 412,369 acaweb_fx.pg_catalog.pg_class 2 2 922 0 101 0 0 305 93 532,881 acaweb_fx.public.relevance_fibonacci_results 2 2 2,554 0 60 2 116 409 44 104,475 acaweb_fx.pg_catalog.pg_type 1 1 136 0 23 0 0 54 18 123,068 acaweb_fx.public.autochartist_symbolupdates 1 1 22,572 0 3,669 2 38,180 6,902 3,620 1,711,120 acaweb_fx.public.solr_imports 1 1 49 0 1 0 0 6 1 6,116 acaweb_fx.pg_catalog.pg_attribute 1 1 806 0 166 0 67 377 129 786,542 acaweb_fx.pg_catalog.pg_statistic 1 1 1,027 0 231 0 551 446 191 738,798 acaweb_fx.public.latest_t15_candle_view 1 1 66 0 1 0 0 6 1 9,091 acaweb_fx.public.relevance_keylevels_results 1 1 3,763 0 370 0 110 987 285 633,341 Total 36 31 52,235 42,790 4,947 6 39,512 20,531 5,740 10,743,586 Tuples removed per table
Key values
- public.solr_relevance_old (72059) Main table with removed tuples on database acaweb_fx
- 83105 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain acaweb_fx.public.solr_relevance_old 16 16 72,059 87,315 0 0 3,032 acaweb_fx.public.autochartist_symbolupdates 1 1 6,164 48,865 13 0 40,691 acaweb_fx.pg_catalog.pg_attribute 1 1 1,521 10,803 0 0 260 acaweb_fx.public.relevance_keylevels_results 1 1 829 11,664 0 0 279 acaweb_fx.public.relevance_autochartist_results 2 2 725 16,200 0 0 760 acaweb_fx.pg_catalog.pg_statistic 1 1 584 3,609 0 0 1,194 acaweb_fx.public.datafeeds_latestrun 5 0 295 81 11 0 80 acaweb_fx.pg_catalog.pg_class 2 2 286 3,304 6 0 300 acaweb_fx.public.relevance_fibonacci_results 2 2 236 2,834 0 0 204 acaweb_fx.pg_toast.pg_toast_2619 2 2 149 349 9 0 104 acaweb_fx.pg_catalog.pg_type 1 1 142 1,449 3 0 39 acaweb_fx.public.latest_t15_candle_view 1 1 65 14 0 0 1 acaweb_fx.public.solr_imports 1 1 50 3 2 0 2 Total 36 31 83,105 186,490 44 0 46,946 Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Pages removed per tables
NO DATASET
Table Number of vacuums Index scans Tuples removed Pages removed acaweb_fx.pg_toast.pg_toast_2619 2 2 149 0 acaweb_fx.pg_catalog.pg_type 1 1 142 0 acaweb_fx.public.autochartist_symbolupdates 1 1 6164 0 acaweb_fx.public.datafeeds_latestrun 5 0 295 0 acaweb_fx.public.solr_imports 1 1 50 0 acaweb_fx.pg_catalog.pg_attribute 1 1 1521 0 acaweb_fx.pg_catalog.pg_statistic 1 1 584 0 acaweb_fx.public.latest_t15_candle_view 1 1 65 0 acaweb_fx.public.relevance_keylevels_results 1 1 829 0 acaweb_fx.public.solr_relevance_old 16 16 72059 0 acaweb_fx.public.relevance_autochartist_results 2 2 725 0 acaweb_fx.pg_catalog.pg_class 2 2 286 0 acaweb_fx.public.relevance_fibonacci_results 2 2 236 0 Total 36 31 83,105 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Jan 23 01 36 57 - 0 sec Highest CPU-cost vacuum
-
Locks
Locks by types
Key values
- unknown Main Lock Type
- 0 locks Total
Most frequent waiting queries (N)
Rank Count Total time Min time Max time Avg duration Query NO DATASET
Queries that waited the most
Rank Wait time Query NO DATASET
-
Queries
Queries by type
Key values
- 70,922 Total read queries
- 39,533 Total write queries
Queries by database
Key values
- unknown Main database
- 238,813 Requests
- 2h25m1s (unknown)
- Main time consuming database
Database Request type Count Duration acaweb_fx Total 920 0ms copy from 80 0ms copy to 26 0ms cte 104 0ms ddl 16 0ms delete 16 0ms others 205 0ms select 102 0ms tcl 332 0ms update 39 0ms socialmedia Total 100 0ms select 96 0ms tcl 4 0ms unknown Total 238,813 2h25m1s copy from 16 0ms cte 7,446 0ms insert 29,074 0ms others 9,274 0ms select 70,724 0ms tcl 392 0ms update 1,988 0ms Queries by user
Key values
- unknown Main user
- 238,813 Requests
User Request type Count Duration postgres Total 1,020 0ms copy from 80 0ms copy to 26 0ms cte 104 0ms ddl 16 0ms delete 16 0ms others 205 0ms select 198 0ms tcl 336 0ms update 39 0ms unknown Total 238,813 2h25m1s copy from 16 0ms cte 7,446 0ms insert 29,074 0ms others 9,274 0ms select 70,724 0ms tcl 392 0ms update 1,988 0ms Duration by user
Key values
- 2h25m1s (unknown) Main time consuming user
User Request type Count Duration postgres Total 1,020 0ms copy from 80 0ms copy to 26 0ms cte 104 0ms ddl 16 0ms delete 16 0ms others 205 0ms select 198 0ms tcl 336 0ms update 39 0ms unknown Total 238,813 2h25m1s copy from 16 0ms cte 7,446 0ms insert 29,074 0ms others 9,274 0ms select 70,724 0ms tcl 392 0ms update 1,988 0ms Queries by host
Key values
- unknown Main host
- 239,833 Requests
- 2h25m1s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 239,446 Requests
- 2h25m1s (unknown)
- Main time consuming application
Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-01-23 01:32:25 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 74,115 0-1ms duration
Slowest individual queries
Rank Duration Query NO DATASET
Time consuming queries
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 0ms 2 0ms 0ms 0ms insert into t30 (symbolid, pricedatetime, open, high, low, close, volume, bsf, sastdatetimereceived) values (?, ?::timestamp without time zone, ?.?, ?.?, ?.?, ?, ?, ?, ?::timestamp without time zone) on conflict (symbolid, pricedatetime) do nothing;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Jan 23 01 2 0ms 0ms 2 0ms 61 0ms 0ms 0ms select key, value from datasources ds inner join datasourceparams dsp on ds.id = dsp.datasourceid where ds.name = ?;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Jan 23 01 61 0ms 0ms 3 0ms 332 0ms 0ms 0ms with rar_max as ( select resultuid from relevance_consecutivecandles_results order by resultuid desc limit ? ), all_results as ( select ccr.resultuid as resultuid, ccr.direction as direction, s.exchange as exchange, s.symbolid as symbolid, coalesce(bim.code, s.symbol) as symbol_code, s.longname as symbol_name, s.timegranularity as interval, ccr.patternendtime as identified, dtt.timezone as timezone, ccr.qtyconsecutivecandles as length, g.basegroupname, case when rcr.age is not null then rcr.age when ccr.resultuid <= rm.resultuid then ? else ? end as age, case when rcr.relevant is not null then rcr.relevant when ccr.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip, newlevels.filtered from consecutivecandles_results ccr inner join brokersymbollist bsl on bsl.brokerid = ? and bsl.symbolid = ccr.symbolid inner join symbols s on ccr.symbolid = s.symbolid and s.nonliquid = ? inner join downloadersymbolsettings dss on ccr.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join symbolgroup sg on ccr.symbolid = sg.symbolid inner join groups g on sg.groupid = g.groupid inner join brokergroups bg on g.groupid = bg.groupid and bsl.brokerid = bg.brokerid inner join rar_max rm on ? = ? left outer join relevance_consecutivecandles_results rcr on rcr.resultuid = ccr.resultuid left join currencypips cps on cps.symbol = s.symbol left outer join brokerinstrumentmap bim on dss.datafeedinstrumentid = bim.datafeedinstrumentid and bim.brokerid = bsl.brokerid and bim.type = ? left join lateral calc_cc_signal_filter (ccr.resultuid) newlevels on true where ccr.gmttimefound > now() - interval ? and s.deleted = ? and (ccr.simulation = ? or ccr.simulation is null) and (? = ? or s.timegranularity in (...)) and (? = ? or s.exchange in (...)) and (? = ? or coalesce(bim.code, s.symbol) in (...)) and (? = ? or ccr.patternlengthbars <= ?) ), results as ( select distinct on (symbolid) * from all_results where (false = ? or relevant = ?) and (? = ? or age <= ?) order by symbolid, resultuid ) select * from results order by identified desc, length desc;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Jan 23 01 332 0ms 0ms 4 0ms 1 0ms 0ms 0ms insert into t15 (symbolid, pricedatetime, open, high, low, close, volume, bsf, sastdatetimereceived) values (?, ?::timestamp without time zone, ?, ?, ?, ?.?, ?, ?, ?::timestamp without time zone) on conflict (symbolid, pricedatetime) do nothing;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jan 23 01 1 0ms 0ms 5 0ms 69 0ms 0ms 0ms with rar_max as ( select resultuid from relevance_bigmovement_results order by resultuid desc limit ? ) select bmr.symbolid, patternstarttime, patternendtime, timegranularity, ? as direction, case when bmr.old_resultuid = ? then bmr.old_resultuid else bmr.resultuid end as uid, s.exchange, s.symbol, s.longname, s.shortname, dtt.timezone, bmr.patternmovement, bmr.statisticalmovement, bmr.fromprice, bmr.toprice, bmr.percentile, bmr.patternlengthbars, case when rbr.age is not null then rbr.age when bmr.resultuid <= rm.resultuid then ? else ? end as age, case when rbr.relevant is not null then rbr.relevant when bmr.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip from bigmovement_results bmr inner join downloadersymbolsettings dss on bmr.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname inner join symbols s on bmr.symbolid = s.symbolid inner join rar_max rm on ? = ? left outer join relevance_bigmovement_results rbr on rbr.resultuid = bmr.resultuid left join currencypips cps on cps.symbol = s.symbol where (bmr.old_resultuid = ? or bmr.resultuid = ?) and dtt.dayofweek = ?;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jan 23 01 69 0ms 0ms 6 0ms 2,217 0ms 0ms 0ms insert into t60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) on conflict (pricedatetime, symbolid) do update set open = ?, high = ?, low = ?, close = ?, volume = ?, bsf = ?, sastdatetimewritten = ?, sastdatetimereceived = ?;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jan 23 01 2,217 0ms 0ms 7 0ms 44 0ms 0ms 0ms select count(*) from datafeeds_latestrun where feedname ilike ? and ((latestrxtime > current_timestamp - interval ? and latestdbwritetime > current_timestamp - interval ?) or (latestdbwritetime > current_timestamp - interval ? and lateststartuptime > current_timestamp - interval ?));Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jan 23 01 44 0ms 0ms 8 0ms 68 0ms 0ms 0ms select case when a.old_resultuid = ? then a.old_resultuid else a.resultuid end as resultuid, s.symbol, timegranularity as interval, direction as direction, patternendtime as patternendtime, patternstartprice as psp, patternendprice as pep, target03 as t03, target16 as t16, patternlengthbars as length, p.patternname as patternname, dtt.timezone, cps.pip from fibonacci_results a inner join downloadersymbolsettings dss on a.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname inner join symbols s on a.symbolid = s.symbolid inner join fibonaccipatterns p on a.pattern = p.patternname left join currencypips cps on cps.symbol = s.symbol where (a.old_resultuid = ? or a.resultuid = ?) and dtt.dayofweek = ?;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jan 23 01 68 0ms 0ms 9 0ms 4 0ms 0ms 0ms select updaterelevantforrelevantresults ();Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Jan 23 01 4 0ms 0ms 10 0ms 4 0ms 0ms 0ms select psd.symbolid, psd.hourlysymbolid as intervalsymbolid, s.symbol, dtt.timezone, dtt.absolutetimezoneoffset, psh.hour as index, psh.ave, psh.stddev, (psh.ave - psh.stddev / ?.?) as low, (psh.ave + psh.stddev / ?.?) as high, ee.timezone as exchangetimezone, ee.mon_t1start as exchangestart, ee.mon_t1end as exchangeend from powerstats_symboldata psd inner join powerstats_hourly psh on psd.hourlysymbolid = psh.symbolid inner join symbols s on psh.symbolid = s.symbolid inner join downloadersymbolsettings dss on s.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname inner join mat_ps_hourly_symbolid_max_enddate e on psh.enddate = e.enddate and psh.symbolid = e.symbolid inner join exchanges ee on ee.exchange = s.exchange where psd.symbolid = ? and dtt.dayofweek = ? order by hour asc;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jan 23 01 4 0ms 0ms 11 0ms 1,390 0ms 0ms 0ms update patternresultsrelevance set relevant = ?, saxo_relevant = ?, notrelevantpricedatetime = ?, reason = ? where uniqueindex = ? and relevant = ?;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Jan 23 01 1,390 0ms 0ms 12 0ms 14 0ms 0ms 0ms insert into resultmedia (processresultsid, type, name, filename) values (?, ?, ?, ?) returning id;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Jan 23 01 14 0ms 0ms 13 0ms 1 0ms 0ms 0ms select t.pricedatetime as pricedatetime, t.open as open, t.high as high, t.low as low, t.close "..." close, t.volume as volume, t.bsf as bsf from t1440 t where symbolid = ? and (bsf = ? or bsf is null) order by pricedatetime desc limit ?;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jan 23 01 1 0ms 0ms 14 0ms 3 0ms 0ms 0ms insert into t15 (symbolid, pricedatetime, open, high, low, close, volume, bsf, sastdatetimereceived) values (?, ?::timestamp without time zone, ?.?, ?, ?.?, ?, ?, ?, ?::timestamp without time zone) on conflict (symbolid, pricedatetime) do nothing;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jan 23 01 3 0ms 0ms 15 0ms 240 0ms 0ms 0ms select v.datname, c.relname, v.phase, v.heap_blks_total, v.heap_blks_scanned, v.heap_blks_vacuumed, v.index_vacuum_count, v.max_dead_tuples, v.num_dead_tuples from pg_stat_progress_vacuum as v join pg_class c on c.oid = v.relid;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jan 23 01 240 0ms 0ms 16 0ms 18 0ms 0ms 0ms select cast(count(*) / cast(setting as numeric) * ? as int) from pg_stat_activity, pg_settings where name = ? group by setting;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jan 23 01 18 0ms 0ms 17 0ms 28 0ms 0ms 0ms select * from ( select pricedatetime, open, high, low, close, volume, bsf from t60 where symbolid = ? and (bsf = ? or bsf is null) order by pricedatetime desc limit ?) a order by pricedatetime asc;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jan 23 01 28 0ms 0ms 18 0ms 1 0ms 0ms 0ms with pre_symbols as ( select s.symbolid, s.symbol, s.timegranularity, dss.downloadersymbol, dtt.timezone, s.exchange, s.longname from symbols s inner join downloadersymbolsettings dss on dss.symbolid = s.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join brokersymbollist bsl on bsl.symbolid = s.symbolid and brokerid = ? where dss.classname in (...) and (dss.downloadersymbol in (...) or s.symbol in (...)) and dss.enabled = ? and s.nonliquid = ? and s.deleted = ? ), report_symbols as ( select ps1.*, ps2.symbolid as price_symbol_id from pre_symbols ps1 inner join pre_symbols ps2 on ps1.symbol = ps2.symbol and ps1.downloadersymbol = ps2.downloadersymbol and ps2.timegranularity = ? ), rbr_max as ( select resultuid from relevance_bigmovement_results order by resultuid desc limit ? ) select bmr.resultuid as ruid, ? as direction, rs.symbol as sym, rs.downloadersymbol, rs.symbolid as sid, rs.timegranularity as tg, rs.timezone, rs.exchange as e, rs.longname, bmr.patternendtime as pet, lpi.latestpricedatetime as lpdt, bmr.patternlengthbars as l, bmr.breakout >= ? as complete, rbr.age as age from bigmovement_results bmr inner join report_symbols rs on rs.symbolid = bmr.symbolid inner join autochartist_symbolupdates lpi on lpi.symbolid = rs.price_symbol_id inner join rbr_max rm on ? = ? left outer join relevance_bigmovement_results rbr on rbr.resultuid = bmr.resultuid where patternendtime >= (now() - ? * interval ?) -- results can't be more than ? days old and (bmr.resultuid > rm.resultuid or rbr.relevant = ?) ;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jan 23 01 1 0ms 0ms 19 0ms 364 0ms 0ms 0ms commit;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jan 23 01 364 0ms 0ms 20 0ms 471 0ms 0ms 0ms with rar_max as ( select resultuid from relevance_keylevels_results order by resultuid desc limit ? ), kr as ( select a.*, rr.age, rr.relevant from keylevels_results a left outer join relevance_keylevels_results rr on a.resultuid = rr.resultuid where case when false = ? then true else a.resultuid > ( select min(resultuid) from relevance_keylevels_results) end ), all_results as ( select kr.resultuid as resultuid, kr.direction as direction, s.exchange as exchange, s.symbolid as symbolid, coalesce(bim.code, s.symbol) as symbol_code, s.longname as symbol_name, s.timegranularity as interval, p.patternname as pattern_name, kr.breakout as breakout, kr.atbaridentified as identified, dtt.timezone as timezone, kr.patternlengthbars as length, g.basegroupname, newlevels.filtered, case when kr.age is not null then kr.age when kr.resultuid <= rm.resultuid then ? else ? end as age, case when kr.relevant is not null then kr.relevant when kr.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip from kr inner join brokersymbollist bsl on bsl.brokerid = ? and bsl.symbolid = kr.symbolid inner join symbols s on bsl.symbolid = s.symbolid and s.nonliquid = ? inner join symbolgroup sg on s.symbolid = sg.symbolid inner join groups g on sg.groupid = g.groupid inner join brokergroups bg on g.groupid = bg.groupid and bsl.brokerid = bg.brokerid inner join hrspatterns p on kr.patternid = p.patternid inner join downloadersymbolsettings dss on s.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join rar_max rm on ? = ? left outer join autochartist_symbolupdates au on dss.symbolid = au.symbolid left outer join relevance_keylevels_results rar on rar.resultuid = kr.resultuid left join lateral calc_kl_signal_filter (kr.resultuid) newlevels on true left join currencypips cps on cps.symbol = s.symbol left outer join brokerinstrumentmap bim on dss.datafeedinstrumentid = bim.datafeedinstrumentid and bim.brokerid = bsl.brokerid and bim.type = ? where kr.gmttimefound > now() - interval ? and dss.enabled = ? and s.deleted = ? and (kr.simulation = ? or kr.simulation is null) and (? = ? or s.timegranularity in (...)) and (? = ? or s.exchange in (...)) and (? = ? or coalesce(bim.code, s.symbol) in (...)) and (? = ? or p.patternname in (...)) and (? = ? or kr.patternclassid in (...)) and (? = ? or kr.patternlengthbars <= ?) and kr.patternstarttime::timestamp without time zone >= coalesce(au.earliestpricedatetime, ?::timestamp without time zone) -- to make sure patternstarttime is in our t-tables ), results as ( select distinct on (symbolid) * from all_results where (false = ? or relevant = ?) and (? = ? or age <= ?) order by symbolid, resultuid ) select * from results order by identified desc, length desc limit ?;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Jan 23 01 471 0ms 0ms Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 29,918 0ms 0ms 0ms 0ms select ?;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Jan 23 01 29,918 0ms 0ms 2 20,139 0ms 0ms 0ms 0ms select distinct on (coalesce(bim.code, s.symbol) , s.exchange, s.timegranularity, df.timezone) s.symbolid as id, coalesce(bim.code, s.symbol) as name, s.symbol as symbol, dss.downloadersymbol as ticker, s.exchange as exchange, s.timegranularity as interval, df.timezone as timezone from symbols s inner join downloadersymbolsettings dss on dss.symbolid = s.symbolid inner join datafeedstimetable df on df.classname ilike dss.classname left join brokersymbollist bsl on bsl.brokerid = ? and bsl.symbolid = s.symbolid left outer join brokerinstrumentmap bim on dss.datafeedinstrumentid = bim.datafeedinstrumentid and bim.brokerid = ? and bim.type = ? where s.symbolid = ?;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Jan 23 01 20,139 0ms 0ms 3 8,546 0ms 0ms 0ms 0ms select s.symbolid as id, s.symbol as name, s.exchange as exchange, s.timegranularity as interval, dtt.timezone as timezone from symbols s inner join downloadersymbolsettings dss on dss.symbolid = s.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join brokersymbollist bsl on bsl.symbolid = s.symbolid where bsl.brokerid = ? and (? = ? or s.timegranularity = ?) and (s.symbol = ? or dss.downloadersymbol = ?) and dss.enabled = ?;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Jan 23 01 8,546 0ms 0ms 4 7,872 0ms 0ms 0ms 0ms insert into executionlogs (executionid, status, message, details, detailtype) values (null, ?, ?, null, null);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jan 23 01 7,872 0ms 0ms 5 5,888 0ms 0ms 0ms 0ms insert into t15 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) on conflict (pricedatetime, symbolid) do update set open = ?, high = ?, low = ?, close = ?, volume = ?, bsf = ?, sastdatetimewritten = ?, sastdatetimereceived = ?;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jan 23 01 5,888 0ms 0ms 6 4,409 0ms 0ms 0ms 0ms set extra_float_digits = ?;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jan 23 01 4,409 0ms 0ms 7 4,383 0ms 0ms 0ms 0ms set application_name = ?;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jan 23 01 4,383 0ms 0ms 8 3,786 0ms 0ms 0ms 0ms insert into autochartist_results (resultid, symbolid, bandwidth, pattern, qtytp, gmttimefound, direction, initialtrend, breakout, volumeincrease, noise, symmetry, predictionpricefrom, predictionpriceto, predictiontimefrom, predictiontimeto, patternstarttime, patternendtime, patternstartprice, patternendprice, resx0, resx1, supportx0, supportx1, resy0, resy1, supporty0, supporty1, supportgradient, resgradient, riskreward, patternquality, trendchange, maxmovementafterbreakout, latestbaratbreakouttime, latestbaratbreakoutprice, patternlengthbars, temporarypattern, relevancestartdistance, simulation, writtendatetime) values (?, ?, ?.?, ?, ?, ?::timestamp without time zone, ?, ?.?, ?.?, ?.?, ?.?, ?.?, ?.?, ?.?, ?::timestamp without time zone, ?::timestamp without time zone, ?::timestamp without time zone, ?::timestamp without time zone, ?.?, ?.?, ?::timestamp without time zone, ?::timestamp without time zone, ?::timestamp without time zone, ?::timestamp without time zone, ?.?, ?.?, ?.?, ?.?, ?.?, ?.?, ?.?, ?.?, ?, ?.?, ?::timestamp without time zone, ?.?, ?, ?, ?.?, ?, current_timestamp::timestamp without time zone) on conflict do nothing;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jan 23 01 3,786 0ms 0ms 9 3,381 0ms 0ms 0ms 0ms insert into t30 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) on conflict (pricedatetime, symbolid) do update set open = ?, high = ?, low = ?, close = ?, volume = ?, bsf = ?, sastdatetimewritten = ?, sastdatetimereceived = ?;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Jan 23 01 3,381 0ms 0ms 10 2,807 0ms 0ms 0ms 0ms with rar_max as ( select resultuid from relevance_autochartist_results order by resultuid desc limit ? ) select a.symbolid, pattern, patternid, resy0, resy1, resx0, resx1, supporty0, supporty1, supportx0, supportx1, predictiontimeto, patternstarttime, timegranularity, patternendtime, direction, trendchange, patternlengthbars, patternquality, case when a.old_resultuid = ? then a.old_resultuid else a.resultuid end as uid, breakout, initialtrend, volumeincrease, symmetry as uniformity, predictionpricefrom, predictionpriceto, noise, s.exchange, s.symbol, s.longname, s.shortname, breakout, dtt.timezone, patternstartprice, patternendprice, qtytp, newlevels.profit, newlevels.stop, newlevels.filtered, case when rar.age is not null then rar.age when a.resultuid <= rm.resultuid then ? else ? end as age, case when rar.relevant is not null then rar.relevant when a.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip from autochartist_results a inner join downloadersymbolsettings dss on a.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname inner join symbols s on a.symbolid = s.symbolid inner join patterns p on p.patternname = a.pattern inner join rar_max rm on ? = ? left outer join relevance_autochartist_results rar on rar.resultuid = a.resultuid left join lateral calc_cp_signal (a.resultuid) newlevels on true left join currencypips cps on cps.symbol = s.symbol where (a.old_resultuid = ? or a.resultuid = ?) and dtt.dayofweek = ?;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jan 23 01 2,807 0ms 0ms 11 2,278 0ms 0ms 0ms 0ms insert into fibonacci_results (bandwidth, pattern, gmttimefound, direction, patternstarttime, patternendtime, patternstartprice, patternendprice, qtytp, pricex, timex, pricea, timea, priceb, timeb, pricec, timec, priced, timed, averagequality, timequality, errormargin, patternlengthbars, target10, target06, target16, target07, target12, target05, target03, symbolid, noise, ratiosfound, temporarypattern, uniqueindex, completed, simulation, writtendatetime) values (?.?, ?, ?::timestamp without time zone, ?, ?::timestamp without time zone, ?::timestamp without time zone, ?.?, ?.?, ?, ?.?, ?::timestamp without time zone, ?.?, ?::timestamp without time zone, ?.?, ?::timestamp without time zone, ?.?, ?::timestamp without time zone, ?.?, ?::timestamp without time zone, ?.?, ?.?, ?.?, ?, ?.?, ?.?, ?.?, ?.?, ?.?, ?.?, ?.?, ?, ?.?, ?, ?, ?, ?, ?, current_timestamp::timestamp without time zone) on conflict do nothing;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Jan 23 01 2,278 0ms 0ms 12 2,217 0ms 0ms 0ms 0ms insert into t60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) on conflict (pricedatetime, symbolid) do update set open = ?, high = ?, low = ?, close = ?, volume = ?, bsf = ?, sastdatetimewritten = ?, sastdatetimereceived = ?;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Jan 23 01 2,217 0ms 0ms 13 1,390 0ms 0ms 0ms 0ms update patternresultsrelevance set relevant = ?, saxo_relevant = ?, notrelevantpricedatetime = ?, reason = ? where uniqueindex = ? and relevant = ?;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jan 23 01 1,390 0ms 0ms 14 1,338 0ms 0ms 0ms 0ms with rar_max as ( select resultuid from relevance_keylevels_results order by resultuid desc limit ? ) select case when a.old_resultuid = ? then a.old_resultuid else a.resultuid end as ruid, s.symbolid as sid, s.symbol as sym, longname, shortname, exchange as e, timegranularity as tg, a.patternid as pid, a.direction as d, a.patternprice as pp, atbaridentified as pet, case when (x9 != ?) then x9 when (x8 != ?) then x8 when (x7 != ?) then x7 when (x6 != ?) then x6 when (x5 != ?) then x5 when (x4 != ?) then x4 when (x3 != ?) then x3 when (x2 != ?) then x2 end as pst, patternprice as patp, x0, x1, x2, case when (x3 != ?) then x3 else ? end as x3, case when (x4 != ?) then x4 else ? end as x4, case when (x5 != ?) then x5 else ? end as x5, case when (x6 != ?) then x6 else ? end as x6, case when (x7 != ?) then x7 else ? end as x7, case when (x8 != ?) then x8 else ? end as x8, errormargin as erm, breakoutprice as pe, breakoutbars as be, breakout, atbaridentified as atbar, atpriceidentified as atprice, patternlengthbars as l, bandwidth as bw, qtytp as qtp, p.patternname as patternname, dtt.absolutetimezoneoffset as tzos, dtt.timezone as timezone, approachingtimestamp as apt, approachingregion as apr, predictionpricefrom as ppf, predictionpriceto as ppt, predictiontimefrom as ptf, predictiontimebars as ptb, furthestprice as fp, newlevels.filtered, a.uniquepointsvalue as upv, case when rar.age is not null then rar.age when a.resultuid <= rm.resultuid then ? else ? end as age, case when rar.relevant is not null then rar.relevant when a.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip from keylevels_results a inner join downloadersymbolsettings dss on a.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname inner join symbols s on a.symbolid = s.symbolid inner join hrspatterns p on a.patternid = p.patternid inner join rar_max rm on ? = ? left outer join relevance_keylevels_results rar on a.resultuid = rar.resultuid left join lateral calc_kl_signal_filter (a.resultuid) newlevels on true left join currencypips cps on cps.symbol = s.symbol where (a.old_resultuid = ? or a.resultuid = ?) and dtt.dayofweek = ?;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jan 23 01 1,338 0ms 0ms 15 1,107 0ms 0ms 0ms 0ms insert into keylevels_results (bandwidth, breakout, patternid, gmttimefound, approachingtimestamp, approachingregion, qtytp, patternlengthbars, patternprice, x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, breakoutbars, breakoutprice, patternendtime, atbaridentified, atpriceidentified, errormargin, direction, symbolid, predictionpricefrom, predictionpriceto, predictiontimefrom, predictiontimebars, uniquepointsvalue, furthestprice, relevancestartdistance, patternclassid, patternstarttime, stoplosslevel, simulation, writtendatetime) values (?.?, ?, ?, ?::timestamp without time zone, ?, ?.?, ?, ?, ?.?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?.?, ?::timestamp without time zone, ?, ?.?, ?.?, ?, ?, ?.?, ?.?, ?::timestamp without time zone, ?, ?, ?.?, ?.?, ?, ?, ?.?, ?, current_timestamp::timestamp without time zone) on conflict do nothing;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jan 23 01 1,107 0ms 0ms 16 1,013 0ms 0ms 0ms 0ms select symbolid, pricedatetime, classname, downloadfrequency, downloadersymbol, open, high, low, close, volume, bsf, sastdatetimereceived from ( select pricedatetime, dss.classname, dss.downloadfrequency, dss.symbolid, dss.downloadersymbol, t.open, t.high, t.low, t.close, t.volume, t.bsf, t.sastdatetimereceived, row_number() over (partition by t.symbolid order by t.pricedatetime desc) as rn from t15 t, downloadersymbolsettings dss, symbols s where dss.classname = ? and dss.downloadfrequency = ? and dss.symbolid = t.symbolid and s.symbolid = dss.symbolid and dss.enabled = ? and s.deleted = ? and dss.downloadersymbol in (...) and t.pricedatetime > now() - interval ?) as ranked_candles_table where rn = ?;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jan 23 01 1,013 0ms 0ms 17 599 0ms 0ms 0ms 0ms select downloadersymbol, spike_threshold from price_datafeed_spike_threshold where classname = ?;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jan 23 01 599 0ms 0ms 18 599 0ms 0ms 0ms 0ms select s.symbolid, dss.downloadfrequency, dss.downloadersymbol from downloadersymbolsettings dss inner join symbols s on dss.symbolid = s.symbolid where dss.classname = ? and s.deleted = ? and dss.enabled = ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jan 23 01 599 0ms 0ms 19 577 0ms 0ms 0ms 0ms insert into authenticationlog (username, password, brokerid, authclass, attemptdatetime, success, fingerprint, accounttype) values (?, ?, ?, ?, current_timestamp, ?, ?, ?);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jan 23 01 577 0ms 0ms 20 472 0ms 0ms 0ms 0ms with rar_max as ( select resultuid from relevance_autochartist_results order by resultuid desc limit ? ), ar as ( select a.*, rr.age, rr.relevant from autochartist_results a left outer join relevance_autochartist_results rr on a.resultuid = rr.resultuid where case when false = ? then true else a.resultuid > ( select min(resultuid) from relevance_autochartist_results) end ), all_results as ( select ar.resultuid as resultuid, ar.direction as direction, ar.predictiontimeto as predictiontimeto, ar.predictionpricefrom as predictionpricefrom, ar.predictionpriceto as predictionpriceto, cp.pip as pip, s.exchange as exchange, s.symbolid as symbolid, coalesce(bim.code, s.symbol) as symbol_code, s.longname as symbol_name, s.timegranularity as interval, ar.pattern as pattern_name, ar.breakout as breakout, ar.patternendtime as identified, dtt.timezone as timezone, ar.patternlengthbars as length, g.basegroupname, newlevels.profit, newlevels.stop, newlevels.filtered, case when ar.age is not null then ar.age when ar.resultuid <= rm.resultuid then ? else ? end as age, case when ar.relevant is not null then ar.relevant when ar.resultuid <= rm.resultuid then ? else ? end as relevant from ar inner join symbols s on ar.symbolid = s.symbolid and s.nonliquid = ? inner join brokersymbollist bsl on bsl.brokerid = ? and bsl.symbolid = s.symbolid inner join symbolgroup sg on bsl.symbolid = sg.symbolid inner join groups g on sg.groupid = g.groupid inner join brokergroups bg on g.groupid = bg.groupid and bsl.brokerid = bg.brokerid inner join downloadersymbolsettings dss on sg.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join rar_max rm on ? = ? left outer join autochartist_symbolupdates au on dss.symbolid = au.symbolid left outer join currencypips cp on s.symbol = cp.symbol left join lateral calc_cp_signal (ar.resultuid) newlevels on true left outer join brokerinstrumentmap bim on dss.datafeedinstrumentid = bim.datafeedinstrumentid and bim.brokerid = bsl.brokerid and bim.type = ? where ar.gmttimefound > now() - interval ? and dss.enabled = ? and s.deleted = ? and (ar.simulation = ? or ar.simulation is null) and (? = ? or s.timegranularity in (...)) and (? = ? or s.exchange in (...)) and (? = ? or coalesce(bim.code, s.symbol) in (...)) and (? = ? or ar.pattern in (...)) and (? = ? or (? = ? and ar.breakout >= ?) or (? = ? and ar.breakout < ?)) and (? = ? or ar.patternlengthbars <= ?) and newlevels.filtered = false and ar.patternstarttime >= coalesce(au.earliestpricedatetime, ?::timestamp without time zone) -- to make sure patternstarttime is in our t-tables ), results as ( select distinct on (symbolid) * from all_results where (false = ? or relevant = ?) and (? = ? or age <= ?) order by symbolid, resultuid ) select * from results order by identified desc, length desc;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Jan 23 01 472 0ms 0ms Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 0ms 0ms 0ms 2 0ms insert into t30 (symbolid, pricedatetime, open, high, low, close, volume, bsf, sastdatetimereceived) values (?, ?::timestamp without time zone, ?.?, ?.?, ?.?, ?, ?, ?, ?::timestamp without time zone) on conflict (symbolid, pricedatetime) do nothing;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Jan 23 01 2 0ms 0ms 2 0ms 0ms 0ms 61 0ms select key, value from datasources ds inner join datasourceparams dsp on ds.id = dsp.datasourceid where ds.name = ?;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Jan 23 01 61 0ms 0ms 3 0ms 0ms 0ms 332 0ms with rar_max as ( select resultuid from relevance_consecutivecandles_results order by resultuid desc limit ? ), all_results as ( select ccr.resultuid as resultuid, ccr.direction as direction, s.exchange as exchange, s.symbolid as symbolid, coalesce(bim.code, s.symbol) as symbol_code, s.longname as symbol_name, s.timegranularity as interval, ccr.patternendtime as identified, dtt.timezone as timezone, ccr.qtyconsecutivecandles as length, g.basegroupname, case when rcr.age is not null then rcr.age when ccr.resultuid <= rm.resultuid then ? else ? end as age, case when rcr.relevant is not null then rcr.relevant when ccr.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip, newlevels.filtered from consecutivecandles_results ccr inner join brokersymbollist bsl on bsl.brokerid = ? and bsl.symbolid = ccr.symbolid inner join symbols s on ccr.symbolid = s.symbolid and s.nonliquid = ? inner join downloadersymbolsettings dss on ccr.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join symbolgroup sg on ccr.symbolid = sg.symbolid inner join groups g on sg.groupid = g.groupid inner join brokergroups bg on g.groupid = bg.groupid and bsl.brokerid = bg.brokerid inner join rar_max rm on ? = ? left outer join relevance_consecutivecandles_results rcr on rcr.resultuid = ccr.resultuid left join currencypips cps on cps.symbol = s.symbol left outer join brokerinstrumentmap bim on dss.datafeedinstrumentid = bim.datafeedinstrumentid and bim.brokerid = bsl.brokerid and bim.type = ? left join lateral calc_cc_signal_filter (ccr.resultuid) newlevels on true where ccr.gmttimefound > now() - interval ? and s.deleted = ? and (ccr.simulation = ? or ccr.simulation is null) and (? = ? or s.timegranularity in (...)) and (? = ? or s.exchange in (...)) and (? = ? or coalesce(bim.code, s.symbol) in (...)) and (? = ? or ccr.patternlengthbars <= ?) ), results as ( select distinct on (symbolid) * from all_results where (false = ? or relevant = ?) and (? = ? or age <= ?) order by symbolid, resultuid ) select * from results order by identified desc, length desc;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Jan 23 01 332 0ms 0ms 4 0ms 0ms 0ms 1 0ms insert into t15 (symbolid, pricedatetime, open, high, low, close, volume, bsf, sastdatetimereceived) values (?, ?::timestamp without time zone, ?, ?, ?, ?.?, ?, ?, ?::timestamp without time zone) on conflict (symbolid, pricedatetime) do nothing;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jan 23 01 1 0ms 0ms 5 0ms 0ms 0ms 69 0ms with rar_max as ( select resultuid from relevance_bigmovement_results order by resultuid desc limit ? ) select bmr.symbolid, patternstarttime, patternendtime, timegranularity, ? as direction, case when bmr.old_resultuid = ? then bmr.old_resultuid else bmr.resultuid end as uid, s.exchange, s.symbol, s.longname, s.shortname, dtt.timezone, bmr.patternmovement, bmr.statisticalmovement, bmr.fromprice, bmr.toprice, bmr.percentile, bmr.patternlengthbars, case when rbr.age is not null then rbr.age when bmr.resultuid <= rm.resultuid then ? else ? end as age, case when rbr.relevant is not null then rbr.relevant when bmr.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip from bigmovement_results bmr inner join downloadersymbolsettings dss on bmr.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname inner join symbols s on bmr.symbolid = s.symbolid inner join rar_max rm on ? = ? left outer join relevance_bigmovement_results rbr on rbr.resultuid = bmr.resultuid left join currencypips cps on cps.symbol = s.symbol where (bmr.old_resultuid = ? or bmr.resultuid = ?) and dtt.dayofweek = ?;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jan 23 01 69 0ms 0ms 6 0ms 0ms 0ms 2,217 0ms insert into t60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) on conflict (pricedatetime, symbolid) do update set open = ?, high = ?, low = ?, close = ?, volume = ?, bsf = ?, sastdatetimewritten = ?, sastdatetimereceived = ?;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jan 23 01 2,217 0ms 0ms 7 0ms 0ms 0ms 44 0ms select count(*) from datafeeds_latestrun where feedname ilike ? and ((latestrxtime > current_timestamp - interval ? and latestdbwritetime > current_timestamp - interval ?) or (latestdbwritetime > current_timestamp - interval ? and lateststartuptime > current_timestamp - interval ?));Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jan 23 01 44 0ms 0ms 8 0ms 0ms 0ms 68 0ms select case when a.old_resultuid = ? then a.old_resultuid else a.resultuid end as resultuid, s.symbol, timegranularity as interval, direction as direction, patternendtime as patternendtime, patternstartprice as psp, patternendprice as pep, target03 as t03, target16 as t16, patternlengthbars as length, p.patternname as patternname, dtt.timezone, cps.pip from fibonacci_results a inner join downloadersymbolsettings dss on a.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname inner join symbols s on a.symbolid = s.symbolid inner join fibonaccipatterns p on a.pattern = p.patternname left join currencypips cps on cps.symbol = s.symbol where (a.old_resultuid = ? or a.resultuid = ?) and dtt.dayofweek = ?;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jan 23 01 68 0ms 0ms 9 0ms 0ms 0ms 4 0ms select updaterelevantforrelevantresults ();Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Jan 23 01 4 0ms 0ms 10 0ms 0ms 0ms 4 0ms select psd.symbolid, psd.hourlysymbolid as intervalsymbolid, s.symbol, dtt.timezone, dtt.absolutetimezoneoffset, psh.hour as index, psh.ave, psh.stddev, (psh.ave - psh.stddev / ?.?) as low, (psh.ave + psh.stddev / ?.?) as high, ee.timezone as exchangetimezone, ee.mon_t1start as exchangestart, ee.mon_t1end as exchangeend from powerstats_symboldata psd inner join powerstats_hourly psh on psd.hourlysymbolid = psh.symbolid inner join symbols s on psh.symbolid = s.symbolid inner join downloadersymbolsettings dss on s.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname inner join mat_ps_hourly_symbolid_max_enddate e on psh.enddate = e.enddate and psh.symbolid = e.symbolid inner join exchanges ee on ee.exchange = s.exchange where psd.symbolid = ? and dtt.dayofweek = ? order by hour asc;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jan 23 01 4 0ms 0ms 11 0ms 0ms 0ms 1,390 0ms update patternresultsrelevance set relevant = ?, saxo_relevant = ?, notrelevantpricedatetime = ?, reason = ? where uniqueindex = ? and relevant = ?;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Jan 23 01 1,390 0ms 0ms 12 0ms 0ms 0ms 14 0ms insert into resultmedia (processresultsid, type, name, filename) values (?, ?, ?, ?) returning id;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Jan 23 01 14 0ms 0ms 13 0ms 0ms 0ms 1 0ms select t.pricedatetime as pricedatetime, t.open as open, t.high as high, t.low as low, t.close "..." close, t.volume as volume, t.bsf as bsf from t1440 t where symbolid = ? and (bsf = ? or bsf is null) order by pricedatetime desc limit ?;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jan 23 01 1 0ms 0ms 14 0ms 0ms 0ms 3 0ms insert into t15 (symbolid, pricedatetime, open, high, low, close, volume, bsf, sastdatetimereceived) values (?, ?::timestamp without time zone, ?.?, ?, ?.?, ?, ?, ?, ?::timestamp without time zone) on conflict (symbolid, pricedatetime) do nothing;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jan 23 01 3 0ms 0ms 15 0ms 0ms 0ms 240 0ms select v.datname, c.relname, v.phase, v.heap_blks_total, v.heap_blks_scanned, v.heap_blks_vacuumed, v.index_vacuum_count, v.max_dead_tuples, v.num_dead_tuples from pg_stat_progress_vacuum as v join pg_class c on c.oid = v.relid;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jan 23 01 240 0ms 0ms 16 0ms 0ms 0ms 18 0ms select cast(count(*) / cast(setting as numeric) * ? as int) from pg_stat_activity, pg_settings where name = ? group by setting;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jan 23 01 18 0ms 0ms 17 0ms 0ms 0ms 28 0ms select * from ( select pricedatetime, open, high, low, close, volume, bsf from t60 where symbolid = ? and (bsf = ? or bsf is null) order by pricedatetime desc limit ?) a order by pricedatetime asc;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jan 23 01 28 0ms 0ms 18 0ms 0ms 0ms 1 0ms with pre_symbols as ( select s.symbolid, s.symbol, s.timegranularity, dss.downloadersymbol, dtt.timezone, s.exchange, s.longname from symbols s inner join downloadersymbolsettings dss on dss.symbolid = s.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join brokersymbollist bsl on bsl.symbolid = s.symbolid and brokerid = ? where dss.classname in (...) and (dss.downloadersymbol in (...) or s.symbol in (...)) and dss.enabled = ? and s.nonliquid = ? and s.deleted = ? ), report_symbols as ( select ps1.*, ps2.symbolid as price_symbol_id from pre_symbols ps1 inner join pre_symbols ps2 on ps1.symbol = ps2.symbol and ps1.downloadersymbol = ps2.downloadersymbol and ps2.timegranularity = ? ), rbr_max as ( select resultuid from relevance_bigmovement_results order by resultuid desc limit ? ) select bmr.resultuid as ruid, ? as direction, rs.symbol as sym, rs.downloadersymbol, rs.symbolid as sid, rs.timegranularity as tg, rs.timezone, rs.exchange as e, rs.longname, bmr.patternendtime as pet, lpi.latestpricedatetime as lpdt, bmr.patternlengthbars as l, bmr.breakout >= ? as complete, rbr.age as age from bigmovement_results bmr inner join report_symbols rs on rs.symbolid = bmr.symbolid inner join autochartist_symbolupdates lpi on lpi.symbolid = rs.price_symbol_id inner join rbr_max rm on ? = ? left outer join relevance_bigmovement_results rbr on rbr.resultuid = bmr.resultuid where patternendtime >= (now() - ? * interval ?) -- results can't be more than ? days old and (bmr.resultuid > rm.resultuid or rbr.relevant = ?) ;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jan 23 01 1 0ms 0ms 19 0ms 0ms 0ms 364 0ms commit;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jan 23 01 364 0ms 0ms 20 0ms 0ms 0ms 471 0ms with rar_max as ( select resultuid from relevance_keylevels_results order by resultuid desc limit ? ), kr as ( select a.*, rr.age, rr.relevant from keylevels_results a left outer join relevance_keylevels_results rr on a.resultuid = rr.resultuid where case when false = ? then true else a.resultuid > ( select min(resultuid) from relevance_keylevels_results) end ), all_results as ( select kr.resultuid as resultuid, kr.direction as direction, s.exchange as exchange, s.symbolid as symbolid, coalesce(bim.code, s.symbol) as symbol_code, s.longname as symbol_name, s.timegranularity as interval, p.patternname as pattern_name, kr.breakout as breakout, kr.atbaridentified as identified, dtt.timezone as timezone, kr.patternlengthbars as length, g.basegroupname, newlevels.filtered, case when kr.age is not null then kr.age when kr.resultuid <= rm.resultuid then ? else ? end as age, case when kr.relevant is not null then kr.relevant when kr.resultuid <= rm.resultuid then ? else ? end as relevant, cps.pip from kr inner join brokersymbollist bsl on bsl.brokerid = ? and bsl.symbolid = kr.symbolid inner join symbols s on bsl.symbolid = s.symbolid and s.nonliquid = ? inner join symbolgroup sg on s.symbolid = sg.symbolid inner join groups g on sg.groupid = g.groupid inner join brokergroups bg on g.groupid = bg.groupid and bsl.brokerid = bg.brokerid inner join hrspatterns p on kr.patternid = p.patternid inner join downloadersymbolsettings dss on s.symbolid = dss.symbolid inner join datafeedstimetable dtt on dss.classname = dtt.classname and dtt.dayofweek = ? inner join rar_max rm on ? = ? left outer join autochartist_symbolupdates au on dss.symbolid = au.symbolid left outer join relevance_keylevels_results rar on rar.resultuid = kr.resultuid left join lateral calc_kl_signal_filter (kr.resultuid) newlevels on true left join currencypips cps on cps.symbol = s.symbol left outer join brokerinstrumentmap bim on dss.datafeedinstrumentid = bim.datafeedinstrumentid and bim.brokerid = bsl.brokerid and bim.type = ? where kr.gmttimefound > now() - interval ? and dss.enabled = ? and s.deleted = ? and (kr.simulation = ? or kr.simulation is null) and (? = ? or s.timegranularity in (...)) and (? = ? or s.exchange in (...)) and (? = ? or coalesce(bim.code, s.symbol) in (...)) and (? = ? or p.patternname in (...)) and (? = ? or kr.patternclassid in (...)) and (? = ? or kr.patternlengthbars <= ?) and kr.patternstarttime::timestamp without time zone >= coalesce(au.earliestpricedatetime, ?::timestamp without time zone) -- to make sure patternstarttime is in our t-tables ), results as ( select distinct on (symbolid) * from all_results where (false = ? or relevant = ?) and (? = ? or age <= ?) order by symbolid, resultuid ) select * from results order by identified desc, length desc limit ?;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Jan 23 01 471 0ms 0ms Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 5s371ms 4,503 0ms 15ms 1ms WITH rar_max as ( ;Times Reported Time consuming prepare #1
Day Hour Count Duration Avg duration Jan 23 01 4,503 5s371ms 1ms -
WITH rar_max as ( ;
Date: 2026-01-23 01:34:04 Duration: 15ms Database: postgres
-
WITH rar_max as ( ;
Date: 2026-01-23 01:31:54 Duration: 15ms Database: postgres
-
WITH rar_max as ( ;
Date: 2026-01-23 01:06:20 Duration: 12ms Database: postgres
2 4s977ms 6,942 0ms 15ms 0ms SELECT ;Times Reported Time consuming prepare #2
Day Hour Count Duration Avg duration 01 6,942 4s977ms 0ms -
SELECT ;
Date: 2026-01-23 01:11:22 Duration: 15ms Database: postgres
-
SELECT ;
Date: 2026-01-23 01:56:25 Duration: 14ms Database: postgres
-
SELECT ;
Date: 2026-01-23 01:31:12 Duration: 12ms Database: postgres
3 1s365ms 1,129 0ms 4ms 1ms SELECT symbolid, ;Times Reported Time consuming prepare #3
Day Hour Count Duration Avg duration 01 1,129 1s365ms 1ms -
SELECT symbolid, ;
Date: 2026-01-23 01:17:14 Duration: 4ms Database: postgres
-
SELECT symbolid, ;
Date: 2026-01-23 01:47:30 Duration: 3ms Database: postgres
-
SELECT symbolid, ;
Date: 2026-01-23 01:00:10 Duration: 2ms Database: postgres
4 676ms 4,409 0ms 6ms 0ms SET extra_float_digits = 3;Times Reported Time consuming prepare #4
Day Hour Count Duration Avg duration 01 4,409 676ms 0ms -
SET extra_float_digits = 3;
Date: 2026-01-23 01:07:20 Duration: 6ms Database: postgres
-
SET extra_float_digits = 3;
Date: 2026-01-23 01:57:35 Duration: 5ms Database: postgres
-
SET extra_float_digits = 3;
Date: 2026-01-23 01:36:55 Duration: 3ms Database: postgres
5 645ms 599 0ms 2ms 1ms SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;Times Reported Time consuming prepare #5
Day Hour Count Duration Avg duration 01 599 645ms 1ms -
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-23 01:50:07 Duration: 2ms Database: postgres
-
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-23 01:31:11 Duration: 1ms Database: postgres
-
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-23 01:17:18 Duration: 1ms Database: postgres
6 332ms 6,264 0ms 4ms 0ms select 1;Times Reported Time consuming prepare #6
Day Hour Count Duration Avg duration 01 6,264 332ms 0ms -
select 1;
Date: 2026-01-23 01:40:55 Duration: 4ms Database: postgres
-
select 1;
Date: 2026-01-23 01:59:09 Duration: 3ms Database: postgres
-
select 1;
Date: 2026-01-23 01:53:24 Duration: 3ms Database: postgres
7 285ms 3,126 0ms 4ms 0ms INSERT INTO T30 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;Times Reported Time consuming prepare #7
Day Hour Count Duration Avg duration 01 3,126 285ms 0ms -
INSERT INTO T30 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:31:00 Duration: 4ms Database: postgres
-
INSERT INTO T30 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:00:55 Duration: 1ms Database: postgres
-
INSERT INTO T30 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:00:53 Duration: 0ms Database: postgres
8 207ms 2,055 0ms 0ms 0ms INSERT INTO T60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;Times Reported Time consuming prepare #8
Day Hour Count Duration Avg duration 01 2,055 207ms 0ms -
INSERT INTO T60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:12:00 Duration: 0ms Database: postgres
-
INSERT INTO T60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:01:19 Duration: 0ms Database: postgres
-
INSERT INTO T60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:01:05 Duration: 0ms Database: postgres
9 159ms 1,026 0ms 1ms 0ms INSERT INTO T15 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;Times Reported Time consuming prepare #9
Day Hour Count Duration Avg duration 01 1,026 159ms 0ms -
INSERT INTO T15 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:01:33 Duration: 1ms Database: postgres
-
INSERT INTO T15 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:25:18 Duration: 0ms Database: postgres
-
INSERT INTO T15 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:30:03 Duration: 0ms Database: postgres
10 91ms 16 4ms 7ms 5ms with sym_info as ( ;Times Reported Time consuming prepare #10
Day Hour Count Duration Avg duration 01 16 91ms 5ms -
with sym_info as ( ;
Date: 2026-01-23 01:21:53 Duration: 7ms Database: postgres
-
with sym_info as ( ;
Date: 2026-01-23 01:51:47 Duration: 6ms Database: postgres
-
with sym_info as ( ;
Date: 2026-01-23 01:36:49 Duration: 6ms Database: postgres
11 59ms 4,383 0ms 1ms 0ms SET application_name = 'PostgreSQL JDBC Driver';Times Reported Time consuming prepare #11
Day Hour Count Duration Avg duration 01 4,383 59ms 0ms -
SET application_name = 'PostgreSQL JDBC Driver';
Date: 2026-01-23 01:16:21 Duration: 1ms Database: postgres
-
SET application_name = 'PostgreSQL JDBC Driver';
Date: 2026-01-23 01:46:21 Duration: 1ms Database: postgres
-
SET application_name = 'PostgreSQL JDBC Driver';
Date: 2026-01-23 01:51:56 Duration: 1ms Database: postgres
12 57ms 412 0ms 0ms 0ms INSERT INTO T1440_underlying (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;Times Reported Time consuming prepare #12
Day Hour Count Duration Avg duration 01 412 57ms 0ms -
INSERT INTO T1440_underlying (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:02:31 Duration: 0ms Database: postgres
-
INSERT INTO T1440_underlying (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:17:08 Duration: 0ms Database: postgres
-
INSERT INTO T1440_underlying (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:01:12 Duration: 0ms Database: postgres
13 53ms 36 0ms 5ms 1ms WITH rcr_max as ( ;Times Reported Time consuming prepare #13
Day Hour Count Duration Avg duration 01 36 53ms 1ms -
WITH rcr_max as ( ;
Date: 2026-01-23 01:22:54 Duration: 5ms Database: postgres
-
WITH rcr_max as ( ;
Date: 2026-01-23 01:31:16 Duration: 3ms Database: postgres
-
WITH rcr_max as ( ;
Date: 2026-01-23 01:14:01 Duration: 2ms Database: postgres
14 47ms 42 0ms 3ms 1ms WITH last_candle AS ( ;Times Reported Time consuming prepare #14
Day Hour Count Duration Avg duration 01 42 47ms 1ms -
WITH last_candle AS ( ;
Date: 2026-01-23 01:32:00 Duration: 3ms Database: postgres
-
WITH last_candle AS ( ;
Date: 2026-01-23 01:16:00 Duration: 3ms Database: postgres
-
WITH last_candle AS ( ;
Date: 2026-01-23 01:32:00 Duration: 3ms Database: postgres
15 46ms 425 0ms 0ms 0ms INSERT INTO T240 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;Times Reported Time consuming prepare #15
Day Hour Count Duration Avg duration 01 425 46ms 0ms -
INSERT INTO T240 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:31:18 Duration: 0ms Database: postgres
-
INSERT INTO T240 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:17:19 Duration: 0ms Database: postgres
-
INSERT INTO T240 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:47:18 Duration: 0ms Database: postgres
16 45ms 18 1ms 4ms 2ms select cast(count(*) / cast(setting as numeric) * 100 as int) from pg_stat_activity, pg_settings WHERE name = 'max_connections' group by setting;Times Reported Time consuming prepare #16
Day Hour Count Duration Avg duration 01 18 45ms 2ms -
select cast(count(*) / cast(setting as numeric) * 100 as int) from pg_stat_activity, pg_settings WHERE name = 'max_connections' group by setting;
Date: 2026-01-23 01:10:03 Duration: 4ms Database: postgres
-
select cast(count(*) / cast(setting as numeric) * 100 as int) from pg_stat_activity, pg_settings WHERE name = 'max_connections' group by setting;
Date: 2026-01-23 01:31:01 Duration: 2ms Database: postgres
-
select cast(count(*) / cast(setting as numeric) * 100 as int) from pg_stat_activity, pg_settings WHERE name = 'max_connections' group by setting;
Date: 2026-01-23 01:21:00 Duration: 2ms Database: postgres
17 18ms 6 2ms 3ms 3ms select client_addr, count(1) from pg_stat_activity, pg_settings WHERE name = 'max_connections' group by client_addr, setting having (client_addr is not null OR (client_addr is null and count(1) > (cast(setting as numeric) / 3 * 2))) order by count desc;Times Reported Time consuming prepare #17
Day Hour Count Duration Avg duration 01 6 18ms 3ms -
select client_addr, count(1) from pg_stat_activity, pg_settings WHERE name = 'max_connections' group by client_addr, setting having (client_addr is not null OR (client_addr is null and count(1) > (cast(setting as numeric) / 3 * 2))) order by count desc;
Date: 2026-01-23 01:20:04 Duration: 3ms Database: postgres
-
select client_addr, count(1) from pg_stat_activity, pg_settings WHERE name = 'max_connections' group by client_addr, setting having (client_addr is not null OR (client_addr is null and count(1) > (cast(setting as numeric) / 3 * 2))) order by count desc;
Date: 2026-01-23 01:10:05 Duration: 3ms Database: postgres
-
select client_addr, count(1) from pg_stat_activity, pg_settings WHERE name = 'max_connections' group by client_addr, setting having (client_addr is not null OR (client_addr is null and count(1) > (cast(setting as numeric) / 3 * 2))) order by count desc;
Date: 2026-01-23 01:40:05 Duration: 3ms Database: postgres
18 16ms 6 2ms 3ms 2ms with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;Times Reported Time consuming prepare #18
Day Hour Count Duration Avg duration 01 6 16ms 2ms -
with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;
Date: 2026-01-23 01:40:02 Duration: 3ms Database: postgres
-
with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;
Date: 2026-01-23 01:20:03 Duration: 3ms Database: postgres
-
with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;
Date: 2026-01-23 01:30:02 Duration: 2ms Database: postgres
19 15ms 24 0ms 0ms 0ms select count(*) from datafeed_restarter_events where is_current_entry = 1;Times Reported Time consuming prepare #19
Day Hour Count Duration Avg duration 01 24 15ms 0ms -
select count(*) from datafeed_restarter_events where is_current_entry = 1;
Date: 2026-01-23 01:25:00 Duration: 0ms Database: postgres
-
select count(*) from datafeed_restarter_events where is_current_entry = 1;
Date: 2026-01-23 01:30:02 Duration: 0ms Database: postgres
-
select count(*) from datafeed_restarter_events where is_current_entry = 1;
Date: 2026-01-23 01:20:01 Duration: 0ms Database: postgres
20 13ms 12 0ms 1ms 1ms select distinct classname, to_char(created_datetime, 'yyyy-mm-dd HH24:MI'), to_char(cleared_datetime, 'yyyy-mm-dd HH24:MI'), action_to_take, description, created_datetime from datafeed_restarter_events where (is_current_entry = 1 OR cleared_datetime > current_timestamp - interval '17 hour') order by created_datetime desc;Times Reported Time consuming prepare #20
Day Hour Count Duration Avg duration 01 12 13ms 1ms -
select distinct classname, to_char(created_datetime, 'yyyy-mm-dd HH24:MI'), to_char(cleared_datetime, 'yyyy-mm-dd HH24:MI'), action_to_take, description, created_datetime from datafeed_restarter_events where (is_current_entry = 1 OR cleared_datetime > current_timestamp - interval '17 hour') order by created_datetime desc;
Date: 2026-01-23 01:21:53 Duration: 1ms Database: postgres
-
select distinct classname, to_char(created_datetime, 'yyyy-mm-dd HH24:MI'), to_char(cleared_datetime, 'yyyy-mm-dd HH24:MI'), action_to_take, description, created_datetime from datafeed_restarter_events where (is_current_entry = 1 OR cleared_datetime > current_timestamp - interval '17 hour') order by created_datetime desc;
Date: 2026-01-23 01:51:56 Duration: 1ms Database: postgres
-
select distinct classname, to_char(created_datetime, 'yyyy-mm-dd HH24:MI'), to_char(cleared_datetime, 'yyyy-mm-dd HH24:MI'), action_to_take, description, created_datetime from datafeed_restarter_events where (is_current_entry = 1 OR cleared_datetime > current_timestamp - interval '17 hour') order by created_datetime desc;
Date: 2026-01-23 01:46:55 Duration: 1ms Database: postgres
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 50s591ms 6,454 0ms 43ms 7ms WITH rar_max as ( ;Times Reported Time consuming bind #1
Day Hour Count Duration Avg duration Jan 23 01 6,454 50s591ms 7ms -
WITH rar_max as ( ;
Date: 2026-01-23 01:06:11 Duration: 43ms Database: postgres parameters: $1 = '538', $2 = '7', $3 = '15', $4 = '30', $5 = '60', $6 = '120', $7 = '240', $8 = '480', $9 = '1440', $10 = '0', $11 = '', $12 = '125', $13 = 'ANGLO', $14 = 'BARC', $15 = 'BAY', $16 = 'BPLON', $17 = 'HSBCL', $18 = 'LLOY', $19 = 'RIO', $20 = 'RollsRoyce', $21 = 'TESCO', $22 = 'VOD', $23 = 'AUDCAD', $24 = 'AUDCHF', $25 = 'AUDJPY', $26 = 'AUDNZD', $27 = 'AUDUSD', $28 = 'CADCHF', $29 = 'CADJPY', $30 = 'CHFJPY', $31 = 'EURAUD', $32 = 'EURCAD', $33 = 'EURCHF', $34 = 'EURDKK', $35 = 'EURGBP', $36 = 'EURHUF', $37 = 'EURJPY', $38 = 'EURNOK', $39 = 'EURNZD', $40 = 'EURPLN', $41 = 'EURUSD', $42 = 'GBPAUD', $43 = 'GBPCAD', $44 = 'GBPCHF', $45 = 'GBPJPY', $46 = 'GBPNZD', $47 = 'GBPUSD', $48 = 'GBPZAR', $49 = 'NZDCAD', $50 = 'NZDCHF', $51 = 'NZDJPY', $52 = 'NZDUSD', $53 = 'USDCAD', $54 = 'USDCHF', $55 = 'USDCNH', $56 = 'USDCZK', $57 = 'USDDKK', $58 = 'USDHKD', $59 = 'USDHUF', $60 = 'USDJPY', $61 = 'USDMXN', $62 = 'USDNOK', $63 = 'USDPLN', $64 = 'USDSEK', $65 = 'USDSGD', $66 = 'USDTRY', $67 = 'USDZAR', $68 = 'XAGEUR', $69 = 'XAGUSD', $70 = 'XAUEUR', $71 = 'XAUUSD', $72 = 'ZARJPY', $73 = 'Cocoa', $74 = 'Coffee', $75 = 'Copper', $76 = 'Palladium', $77 = 'Platinum', $78 = 'Sugar', $79 = 'UKOIL', $80 = 'USOIL', $81 = 'AUS200', $82 = 'FRA40', $83 = 'JPN225', $84 = 'NETH25', $85 = 'SPA35', $86 = 'SUI20', $87 = 'UK100', $88 = 'USA100', $89 = 'USA30', $90 = 'USDIndex', $91 = 'ALCOA', $92 = 'ALIBABA', $93 = 'AMAZON', $94 = 'AMEX', $95 = 'APPLE', $96 = 'BBVA', $97 = 'BOA', $98 = 'BOEING', $99 = 'CHEVRON', $100 = 'CISCO', $101 = 'COKE', $102 = 'EBAY', $103 = 'GE', $104 = 'GOOGLE', $105 = 'GS', $106 = 'HLT', $107 = 'IBM', $108 = 'ILMN', $109 = 'INTEL', $110 = 'Iberdrola', $111 = 'MCARD', $112 = 'MCDON', $113 = 'META', $114 = 'MSFT', $115 = 'Mapfre', $116 = 'Netflix', $117 = 'PFIZER', $118 = 'QCOM', $119 = 'Santander', $120 = 'TEVA', $121 = 'Telefonica', $122 = 'Tesla', $123 = 'AUDUSD', $124 = 'EURGBP', $125 = 'EURUSD', $126 = 'GBPUSD', $127 = 'NZDUSD', $128 = 'USDCAD', $129 = 'USDCHF', $130 = 'USDJPY', $131 = 'Adidas', $132 = 'Bayer', $133 = 'Daimler', $134 = 'Danone', $135 = 'LVMH', $136 = 'Lufthansa', $137 = 'Volksw', $138 = '500', $139 = '500', $140 = 't', $141 = '10', $142 = '10'
-
WITH rar_max as ( ;
Date: 2026-01-23 01:01:19 Duration: 36ms Database: postgres parameters: $1 = '667', $2 = '7', $3 = '15', $4 = '30', $5 = '60', $6 = '120', $7 = '240', $8 = '480', $9 = '1440', $10 = '0', $11 = '', $12 = '84', $13 = 'AUDCAD', $14 = 'AUDCHF', $15 = 'AUDJPY', $16 = 'AUDNZD', $17 = 'AUDSGD', $18 = 'CADCHF', $19 = 'CADJPY', $20 = 'CHFJPY', $21 = 'EURAUD', $22 = 'EURCAD', $23 = 'EURCHF', $24 = 'EURCZK', $25 = 'EURGBP', $26 = 'EURHUF', $27 = 'EURJPY', $28 = 'EURNOK', $29 = 'EURNZD', $30 = 'EURPLN', $31 = 'EURSEK', $32 = 'EURSGD', $33 = 'EURTRY', $34 = 'EURZAR', $35 = 'GBPAUD', $36 = 'GBPCAD', $37 = 'GBPCHF', $38 = 'GBPJPY', $39 = 'GBPNZD', $40 = 'GBPPLN', $41 = 'GBPSEK', $42 = 'GBPSGD', $43 = 'NZDCAD', $44 = 'NZDCHF', $45 = 'NZDJPY', $46 = 'NZDSGD', $47 = 'USDCNH', $48 = 'USDCZK', $49 = 'USDHUF', $50 = 'USDNOK', $51 = 'USDPLN', $52 = 'USDSEK', $53 = 'USDSGD', $54 = 'USDTRY', $55 = 'USDZAR', $56 = 'WTI', $57 = 'XBRUSD', $58 = 'XTIUSD', $59 = 'BTCUSD', $60 = 'XAGAUD', $61 = 'XAGUSD', $62 = 'XAUAUD', $63 = 'XAUUSD', $64 = 'XPTUSD', $65 = 'XPDUSD', $66 = 'AUDUSD', $67 = 'EURUSD', $68 = 'GBPUSD', $69 = 'NZDUSD', $70 = 'USDCAD', $71 = 'USDCHF', $72 = 'USDHKD', $73 = 'USDJPY', $74 = 'AUS200', $75 = 'CHINA300', $76 = 'CHINA50', $77 = 'DJ30', $78 = 'ESP35t', $79 = 'EUR50', $80 = 'EURO50', $81 = 'FRA40', $82 = 'GDAXI', $83 = 'GDAXIm', $84 = 'HK50', $85 = 'ITA40', $86 = 'J225', $87 = 'JP225', $88 = 'NAS100', $89 = 'SING30', $90 = 'SPA35', $91 = 'STOXX50', $92 = 'SUI20', $93 = 'UK100', $94 = 'US100', $95 = 'US30', $96 = 'US500', $97 = '500', $98 = '500', $99 = 't', $100 = '10', $101 = '10'
-
WITH rar_max as ( ;
Date: 2026-01-23 01:31:35 Duration: 35ms Database: postgres parameters: $1 = '667', $2 = '7', $3 = '15', $4 = '30', $5 = '60', $6 = '120', $7 = '240', $8 = '480', $9 = '1440', $10 = '0', $11 = '', $12 = '84', $13 = 'AUDCAD', $14 = 'AUDCHF', $15 = 'AUDJPY', $16 = 'AUDNZD', $17 = 'AUDSGD', $18 = 'CADCHF', $19 = 'CADJPY', $20 = 'CHFJPY', $21 = 'EURAUD', $22 = 'EURCAD', $23 = 'EURCHF', $24 = 'EURCZK', $25 = 'EURGBP', $26 = 'EURHUF', $27 = 'EURJPY', $28 = 'EURNOK', $29 = 'EURNZD', $30 = 'EURPLN', $31 = 'EURSEK', $32 = 'EURSGD', $33 = 'EURTRY', $34 = 'EURZAR', $35 = 'GBPAUD', $36 = 'GBPCAD', $37 = 'GBPCHF', $38 = 'GBPJPY', $39 = 'GBPNZD', $40 = 'GBPPLN', $41 = 'GBPSEK', $42 = 'GBPSGD', $43 = 'NZDCAD', $44 = 'NZDCHF', $45 = 'NZDJPY', $46 = 'NZDSGD', $47 = 'USDCNH', $48 = 'USDCZK', $49 = 'USDHUF', $50 = 'USDNOK', $51 = 'USDPLN', $52 = 'USDSEK', $53 = 'USDSGD', $54 = 'USDTRY', $55 = 'USDZAR', $56 = 'WTI', $57 = 'XBRUSD', $58 = 'XTIUSD', $59 = 'BTCUSD', $60 = 'XAGAUD', $61 = 'XAGUSD', $62 = 'XAUAUD', $63 = 'XAUUSD', $64 = 'XPTUSD', $65 = 'XPDUSD', $66 = 'AUDUSD', $67 = 'EURUSD', $68 = 'GBPUSD', $69 = 'NZDUSD', $70 = 'USDCAD', $71 = 'USDCHF', $72 = 'USDHKD', $73 = 'USDJPY', $74 = 'AUS200', $75 = 'CHINA300', $76 = 'CHINA50', $77 = 'DJ30', $78 = 'ESP35t', $79 = 'EUR50', $80 = 'EURO50', $81 = 'FRA40', $82 = 'GDAXI', $83 = 'GDAXIm', $84 = 'HK50', $85 = 'ITA40', $86 = 'J225', $87 = 'JP225', $88 = 'NAS100', $89 = 'SING30', $90 = 'SPA35', $91 = 'STOXX50', $92 = 'SUI20', $93 = 'UK100', $94 = 'US100', $95 = 'US30', $96 = 'US500', $97 = '700', $98 = '700', $99 = 't', $100 = '10', $101 = '10'
2 17s717ms 31,193 0ms 30ms 0ms SELECT ;Times Reported Time consuming bind #2
Day Hour Count Duration Avg duration 01 31,193 17s717ms 0ms -
SELECT ;
Date: 2026-01-23 01:28:49 Duration: 30ms Database: postgres parameters: $1 = '958', $2 = '958', $3 = '515840249413895300'
-
SELECT ;
Date: 2026-01-23 01:06:20 Duration: 18ms Database: postgres parameters: $1 = '958', $2 = '958', $3 = '515840243130123300'
-
SELECT ;
Date: 2026-01-23 01:28:49 Duration: 17ms Database: postgres parameters: $1 = '958', $2 = '958', $3 = '515840248628430300'
3 2s525ms 1,129 0ms 11ms 2ms SELECT symbolid, ;Times Reported Time consuming bind #3
Day Hour Count Duration Avg duration 01 1,129 2s525ms 2ms -
SELECT symbolid, ;
Date: 2026-01-23 01:17:14 Duration: 11ms Database: postgres parameters: $1 = 'MILLENNIUMPF', $2 = '15', $3 = 'GBPUSD.ID', $4 = 'GBPJPY', $5 = 'GBPCHF.FX', $6 = 'GBPCHF', $7 = 'GBPJPY.FX', $8 = 'GBPNZD.FX', $9 = 'GBPUSD.FX', $10 = 'GBPJPY.ID', $11 = 'GBPCHF.ID', $12 = 'GBPUSD'
-
SELECT symbolid, ;
Date: 2026-01-23 01:17:16 Duration: 6ms Database: postgres parameters: $1 = 'GLOBALGTMT5', $2 = '15', $3 = 'GTi12'
-
SELECT symbolid, ;
Date: 2026-01-23 01:47:30 Duration: 6ms Database: postgres parameters: $1 = 'ATFX', $2 = '15', $3 = 'SPX500', $4 = 'US30'
4 1s39ms 599 1ms 13ms 1ms SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;Times Reported Time consuming bind #4
Day Hour Count Duration Avg duration 01 599 1s39ms 1ms -
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-23 01:16:16 Duration: 13ms Database: postgres parameters: $1 = 'MILLENNIUMPF'
-
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-23 01:17:18 Duration: 7ms Database: postgres parameters: $1 = 'BDSWISS'
-
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-23 01:30:03 Duration: 3ms Database: postgres parameters: $1 = 'FPMARKETS'
5 785ms 105 4ms 18ms 7ms WITH last_candle AS ( ;Times Reported Time consuming bind #5
Day Hour Count Duration Avg duration 01 105 785ms 7ms -
WITH last_candle AS ( ;
Date: 2026-01-23 01:56:10 Duration: 18ms Database: postgres parameters: $1 = '958', $2 = '958'
-
WITH last_candle AS ( ;
Date: 2026-01-23 01:20:02 Duration: 18ms Database: postgres parameters: $1 = '958', $2 = '958'
-
WITH last_candle AS ( ;
Date: 2026-01-23 01:32:00 Duration: 12ms Database: postgres parameters: $1 = '558', $2 = '558'
6 689ms 29,803 0ms 4ms 0ms select 1;Times Reported Time consuming bind #6
Day Hour Count Duration Avg duration 01 29,803 689ms 0ms -
select 1;
Date: 2026-01-23 01:11:22 Duration: 4ms Database: postgres
-
select 1;
Date: 2026-01-23 01:01:08 Duration: 4ms Database: postgres
-
select 1;
Date: 2026-01-23 01:01:11 Duration: 3ms Database: postgres
7 628ms 68 0ms 19ms 9ms WITH /*Latest.JapSticks*/ all_results AS ( SELECT ;Times Reported Time consuming bind #7
Day Hour Count Duration Avg duration 01 68 628ms 9ms -
WITH /*Latest.JapSticks*/ all_results AS ( SELECT ;
Date: 2026-01-23 01:20:32 Duration: 19ms Database: postgres parameters: $1 = '689', $2 = '0', $3 = '0', $4 = '0', $5 = '', $6 = '0', $7 = '', $8 = '0', $9 = '', $10 = '0', $11 = '0'
-
WITH /*Latest.JapSticks*/ all_results AS ( SELECT ;
Date: 2026-01-23 01:34:57 Duration: 19ms Database: postgres parameters: $1 = '689', $2 = '0', $3 = '0', $4 = '0', $5 = '', $6 = '0', $7 = '', $8 = '0', $9 = '', $10 = '0', $11 = '0'
-
WITH /*Latest.JapSticks*/ all_results AS ( SELECT ;
Date: 2026-01-23 01:17:22 Duration: 19ms Database: postgres parameters: $1 = '689', $2 = '0', $3 = '0', $4 = '0', $5 = '', $6 = '0', $7 = '', $8 = '0', $9 = '', $10 = '0', $11 = '0'
8 550ms 16 28ms 45ms 34ms with sym_info as ( ;Times Reported Time consuming bind #8
Day Hour Count Duration Avg duration 01 16 550ms 34ms -
with sym_info as ( ;
Date: 2026-01-23 01:21:53 Duration: 45ms Database: postgres parameters: $1 = '692', $2 = 'Forex', $3 = 'Forex', $4 = '692', $5 = 'Forex', $6 = '692', $7 = '692', $8 = 'Forex', $9 = '692'
-
with sym_info as ( ;
Date: 2026-01-23 01:51:53 Duration: 44ms Database: postgres parameters: $1 = '627', $2 = 'Forex', $3 = 'Forex', $4 = '627', $5 = 'Forex', $6 = '627', $7 = '627', $8 = 'Forex', $9 = '627'
-
with sym_info as ( ;
Date: 2026-01-23 01:21:49 Duration: 44ms Database: postgres parameters: $1 = '627', $2 = 'Forex', $3 = 'Forex', $4 = '627', $5 = 'Forex', $6 = '627', $7 = '627', $8 = 'Forex', $9 = '627'
9 407ms 20 0ms 47ms 20ms with wh_patitioned as ( ;Times Reported Time consuming bind #9
Day Hour Count Duration Avg duration 01 20 407ms 20ms -
with wh_patitioned as ( ;
Date: 2026-01-23 01:20:02 Duration: 47ms Database: postgres parameters: $1 = '558', $2 = '558', $3 = '558', $4 = '558', $5 = '558', $6 = '558', $7 = '558', $8 = '558', $9 = '558'
-
with wh_patitioned as ( ;
Date: 2026-01-23 01:06:06 Duration: 39ms Database: postgres parameters: $1 = '558', $2 = '558', $3 = '558', $4 = '558', $5 = '558', $6 = '558', $7 = '558', $8 = '558', $9 = '558'
-
with wh_patitioned as ( ;
Date: 2026-01-23 01:51:36 Duration: 29ms Database: postgres parameters: $1 = '558', $2 = '558', $3 = '558', $4 = '558', $5 = '558', $6 = '558', $7 = '558', $8 = '558', $9 = '558'
10 258ms 3,381 0ms 0ms 0ms INSERT INTO T30 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;Times Reported Time consuming bind #10
Day Hour Count Duration Avg duration 01 3,381 258ms 0ms -
INSERT INTO T30 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:00:04 Duration: 0ms Database: postgres parameters: $1 = '2026-01-23 00:00:00', $2 = '0.943105', $3 = '0.943115', $4 = '0.94284', $5 = '0.943005', $6 = '987', $7 = '515840230419318300', $8 = '0', $9 = '2026-01-23 01:00:04.932', $10 = '2026-01-23 01:00:04.915', $11 = '0.943105', $12 = '0.943115', $13 = '0.94284', $14 = '0.943005', $15 = '987', $16 = '0', $17 = '2026-01-23 01:00:04.932', $18 = '2026-01-23 01:00:04.915'
-
INSERT INTO T30 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:00:59 Duration: 0ms Database: postgres parameters: $1 = '2026-01-23 01:30:00', $2 = '14164286.5', $3 = '14166166', $4 = '14126809', $5 = '14156676.5', $6 = '2235', $7 = '515840249393415300', $8 = '0', $9 = '2026-01-23 01:00:59.019', $10 = '2026-01-23 01:00:58.95', $11 = '14164286.5', $12 = '14166166', $13 = '14126809', $14 = '14156676.5', $15 = '2235', $16 = '0', $17 = '2026-01-23 01:00:59.019', $18 = '2026-01-23 01:00:58.95'
-
INSERT INTO T30 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:01:35 Duration: 0ms Database: postgres parameters: $1 = '2026-01-23 00:30:00', $2 = '96.2275', $3 = '96.414', $4 = '96.1345', $5 = '96.1795', $6 = '3619', $7 = '515840249468618300', $8 = '0', $9 = '2026-01-23 01:01:35.33', $10 = '2026-01-23 01:01:35.321', $11 = '96.2275', $12 = '96.414', $13 = '96.1345', $14 = '96.1795', $15 = '3619', $16 = '0', $17 = '2026-01-23 01:01:35.33', $18 = '2026-01-23 01:01:35.321'
11 255ms 5,888 0ms 0ms 0ms INSERT INTO T15 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;Times Reported Time consuming bind #11
Day Hour Count Duration Avg duration 01 5,888 255ms 0ms -
INSERT INTO T15 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:30:03 Duration: 0ms Database: postgres parameters: $1 = '2026-01-23 02:00:00', $2 = '0.1242775', $3 = '0.124291', $4 = '0.1237595', $5 = '0.1241975', $6 = '1051', $7 = '515840249471231300', $8 = '0', $9 = '2026-01-23 01:30:03.022', $10 = '2026-01-23 01:30:02.898', $11 = '0.1242775', $12 = '0.124291', $13 = '0.1237595', $14 = '0.1241975', $15 = '1051', $16 = '0', $17 = '2026-01-23 01:30:03.022', $18 = '2026-01-23 01:30:02.898'
-
INSERT INTO T15 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:41:18 Duration: 0ms Database: postgres parameters: $1 = '2026-01-23 01:15:00', $2 = '49326.05', $3 = '49353.6', $4 = '49323.95', $5 = '49347.85', $6 = '1733', $7 = '515840248000537300', $8 = '0', $9 = '2026-01-23 01:41:18.781', $10 = '2026-01-23 01:41:18.689', $11 = '49326.05', $12 = '49353.6', $13 = '49323.95', $14 = '49347.85', $15 = '1733', $16 = '0', $17 = '2026-01-23 01:41:18.781', $18 = '2026-01-23 01:41:18.689'
-
INSERT INTO T15 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:02:40 Duration: 0ms Database: postgres parameters: $1 = '2026-01-22 23:45:00', $2 = '4.898', $3 = '4.915', $4 = '4.88', $5 = '4.89', $6 = '352', $7 = '515840233909429300', $8 = '0', $9 = '2026-01-23 01:02:40.724', $10 = '2026-01-23 01:02:40.561', $11 = '4.898', $12 = '4.915', $13 = '4.88', $14 = '4.89', $15 = '352', $16 = '0', $17 = '2026-01-23 01:02:40.724', $18 = '2026-01-23 01:02:40.561'
12 187ms 2,217 0ms 0ms 0ms INSERT INTO T60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;Times Reported Time consuming bind #12
Day Hour Count Duration Avg duration 01 2,217 187ms 0ms -
INSERT INTO T60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:12:00 Duration: 0ms Database: postgres parameters: $1 = '2026-01-22 21:00:00', $2 = '299.56', $3 = '299.81', $4 = '298.6', $5 = '299.03', $6 = '1705', $7 = '515840247899857300', $8 = '0', $9 = '2026-01-23 01:12:00.259', $10 = '2026-01-23 01:12:00.19', $11 = '299.56', $12 = '299.81', $13 = '298.6', $14 = '299.03', $15 = '1705', $16 = '0', $17 = '2026-01-23 01:12:00.259', $18 = '2026-01-23 01:12:00.19'
-
INSERT INTO T60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:16:00 Duration: 0ms Database: postgres parameters: $1 = '2026-01-23 01:00:00', $2 = '89296.045', $3 = '89608.685', $4 = '89194.865', $5 = '89385.315', $6 = '3568', $7 = '515840249392121300', $8 = '0', $9 = '2026-01-23 01:16:00.504', $10 = '2026-01-23 01:16:00.504', $11 = '89296.045', $12 = '89608.685', $13 = '89194.865', $14 = '89385.315', $15 = '3568', $16 = '0', $17 = '2026-01-23 01:16:00.504', $18 = '2026-01-23 01:16:00.504'
-
INSERT INTO T60 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:00:22 Duration: 0ms Database: postgres parameters: $1 = '2026-01-23 01:00:00', $2 = '7.825e-06', $3 = '7.845e-06', $4 = '7.805e-06', $5 = '7.83e-06', $6 = '235', $7 = '515840249472436300', $8 = '0', $9 = '2026-01-23 01:00:22.95', $10 = '2026-01-23 01:00:22.948', $11 = '7.825e-06', $12 = '7.845e-06', $13 = '7.805e-06', $14 = '7.83e-06', $15 = '235', $16 = '0', $17 = '2026-01-23 01:00:22.95', $18 = '2026-01-23 01:00:22.948'
13 159ms 36 1ms 18ms 4ms WITH rcr_max as ( ;Times Reported Time consuming bind #13
Day Hour Count Duration Avg duration 01 36 159ms 4ms -
WITH rcr_max as ( ;
Date: 2026-01-23 01:16:16 Duration: 18ms Database: postgres parameters: $1 = '607549790147059305', $2 = '607549790147059305', $3 = '607549790147059305'
-
WITH rcr_max as ( ;
Date: 2026-01-23 01:22:54 Duration: 11ms Database: postgres parameters: $1 = '607550028477455305', $2 = '607550028477455305', $3 = '607550028477455305'
-
WITH rcr_max as ( ;
Date: 2026-01-23 01:16:19 Duration: 9ms Database: postgres parameters: $1 = '607549793643771305', $2 = '607549793643771305', $3 = '607549793643771305'
14 60ms 468 0ms 0ms 0ms INSERT INTO T1440_underlying (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;Times Reported Time consuming bind #14
Day Hour Count Duration Avg duration 01 468 60ms 0ms -
INSERT INTO T1440_underlying (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:00:08 Duration: 0ms Database: postgres parameters: $1 = '2026-01-22 00:00:00', $2 = '25409', $3 = '25598.3', $4 = '25342', $5 = '25483.9', $6 = '386252', $7 = '605679104918572300', $8 = '0', $9 = '2026-01-23 01:00:08.106', $10 = '2026-01-23 01:00:08.106', $11 = '25409', $12 = '25598.3', $13 = '25342', $14 = '25483.9', $15 = '386252', $16 = '0', $17 = '2026-01-23 01:00:08.106', $18 = '2026-01-23 01:00:08.106'
-
INSERT INTO T1440_underlying (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:17:29 Duration: 0ms Database: postgres parameters: $1 = '2026-01-22 00:00:00', $2 = '53335', $3 = '54116.5', $4 = '53213', $5 = '54059.5', $6 = '48152', $7 = '515840245922015300', $8 = '0', $9 = '2026-01-23 01:17:29.467', $10 = '2026-01-23 01:17:29.466', $11 = '53335', $12 = '54116.5', $13 = '53213', $14 = '54059.5', $15 = '48152', $16 = '0', $17 = '2026-01-23 01:17:29.467', $18 = '2026-01-23 01:17:29.466'
-
INSERT INTO T1440_underlying (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:02:13 Duration: 0ms Database: postgres parameters: $1 = '2026-01-22 00:00:00', $2 = '60.76', $3 = '60.91', $4 = '59.07', $5 = '59.76', $6 = '27112', $7 = '605679104055424300', $8 = '0', $9 = '2026-01-23 01:02:13.07', $10 = '2026-01-23 01:02:13.07', $11 = '60.76', $12 = '60.91', $13 = '59.07', $14 = '59.76', $15 = '27112', $16 = '0', $17 = '2026-01-23 01:02:13.07', $18 = '2026-01-23 01:02:13.07'
15 50ms 425 0ms 0ms 0ms INSERT INTO T240 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;Times Reported Time consuming bind #15
Day Hour Count Duration Avg duration 01 425 50ms 0ms -
INSERT INTO T240 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:31:18 Duration: 0ms Database: postgres parameters: $1 = '2026-01-22 16:00:00', $2 = '54135', $3 = '54135', $4 = '53880', $5 = '54035', $6 = '3357', $7 = '515840230561612300', $8 = '0', $9 = '2026-01-23 01:31:18.374', $10 = '2026-01-23 01:31:18.374', $11 = '54135', $12 = '54135', $13 = '53880', $14 = '54035', $15 = '3357', $16 = '0', $17 = '2026-01-23 01:31:18.374', $18 = '2026-01-23 01:31:18.374'
-
INSERT INTO T240 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:00:53 Duration: 0ms Database: postgres parameters: $1 = '2026-01-22 20:00:00', $2 = '249.63', $3 = '250.99', $4 = '248.185', $5 = '248.265', $6 = '6303', $7 = '515840249386763300', $8 = '0', $9 = '2026-01-23 01:00:53.311', $10 = '2026-01-23 01:00:53.095', $11 = '249.63', $12 = '250.99', $13 = '248.185', $14 = '248.265', $15 = '6303', $16 = '0', $17 = '2026-01-23 01:00:53.311', $18 = '2026-01-23 01:00:53.095'
-
INSERT INTO T240 (pricedatetime, open, high, low, close, volume, symbolid, bsf, sastdatetimewritten, sastdatetimereceived) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) ON CONFLICT (pricedatetime, symbolid) DO UPDATE SET open = $11, high = $12, low = $13, close = $14, volume = $15, bsf = $16, sastdatetimewritten = $17, sastdatetimereceived = $18;
Date: 2026-01-23 01:00:32 Duration: 0ms Database: postgres parameters: $1 = '2026-01-22 20:00:00', $2 = '1890.35', $3 = '1929.73', $4 = '1886.85', $5 = '1901.98', $6 = '11737', $7 = '515840238063912300', $8 = '0', $9 = '2026-01-23 01:00:32.455', $10 = '2026-01-23 01:00:32.327', $11 = '1890.35', $12 = '1929.73', $13 = '1886.85', $14 = '1901.98', $15 = '11737', $16 = '0', $17 = '2026-01-23 01:00:32.455', $18 = '2026-01-23 01:00:32.327'
16 49ms 1 49ms 49ms 49ms with maxwhid as ( ;Times Reported Time consuming bind #16
Day Hour Count Duration Avg duration 01 1 49ms 49ms -
with maxwhid as ( ;
Date: 2026-01-23 01:12:12 Duration: 49ms Database: postgres parameters: $1 = '335', $2 = '621', $3 = '637', $4 = '642', $5 = '666', $6 = '660', $7 = '643', $8 = '630', $9 = '680', $10 = '641', $11 = '431', $12 = '622', $13 = '489', $14 = '529', $15 = '576', $16 = '665', $17 = '667', $18 = '558', $19 = '620', $20 = '125', $21 = '488', $22 = '567', $23 = '689', $24 = '700', $25 = '758', $26 = '763', $27 = '765', $28 = '817', $29 = '914', $30 = '972'
17 48ms 53 0ms 1ms 0ms SELECT timegranularity FROM brokersymbollist bsl INNER JOIN symbols s ON bsl.symbolid = s.symbolid INNER JOIN downloadersymbolsettings dss on s.symbolid = dss.symbolid LEFT OUTER JOIN brokerinstrumentmapping bdfi ON bdfi.brokerid = $1 AND dss.datafeedinstrumentid = bdfi.datafeedinstrumentid WHERE s.nonliquid = 0 and s.deleted = 0 and dss.enabled = 1 AND s.symbol ILIKE $2 AND bsl.brokerid = $3 AND timegranularity >= 15 ORDER BY timegranularity LIMIT 1;Times Reported Time consuming bind #17
Day Hour Count Duration Avg duration 01 53 48ms 0ms -
SELECT timegranularity FROM brokersymbollist bsl INNER JOIN symbols s ON bsl.symbolid = s.symbolid INNER JOIN downloadersymbolsettings dss on s.symbolid = dss.symbolid LEFT OUTER JOIN brokerinstrumentmapping bdfi ON bdfi.brokerid = $1 AND dss.datafeedinstrumentid = bdfi.datafeedinstrumentid WHERE s.nonliquid = 0 and s.deleted = 0 and dss.enabled = 1 AND s.symbol ILIKE $2 AND bsl.brokerid = $3 AND timegranularity >= 15 ORDER BY timegranularity LIMIT 1;
Date: 2026-01-23 01:06:26 Duration: 1ms Database: postgres parameters: $1 = '558', $2 = 'GBPJPY', $3 = '558'
-
SELECT timegranularity FROM brokersymbollist bsl INNER JOIN symbols s ON bsl.symbolid = s.symbolid INNER JOIN downloadersymbolsettings dss on s.symbolid = dss.symbolid LEFT OUTER JOIN brokerinstrumentmapping bdfi ON bdfi.brokerid = $1 AND dss.datafeedinstrumentid = bdfi.datafeedinstrumentid WHERE s.nonliquid = 0 and s.deleted = 0 and dss.enabled = 1 AND s.symbol ILIKE $2 AND bsl.brokerid = $3 AND timegranularity >= 15 ORDER BY timegranularity LIMIT 1;
Date: 2026-01-23 01:00:09 Duration: 1ms Database: postgres parameters: $1 = '558', $2 = 'EURJPY', $3 = '558'
-
SELECT timegranularity FROM brokersymbollist bsl INNER JOIN symbols s ON bsl.symbolid = s.symbolid INNER JOIN downloadersymbolsettings dss on s.symbolid = dss.symbolid LEFT OUTER JOIN brokerinstrumentmapping bdfi ON bdfi.brokerid = $1 AND dss.datafeedinstrumentid = bdfi.datafeedinstrumentid WHERE s.nonliquid = 0 and s.deleted = 0 and dss.enabled = 1 AND s.symbol ILIKE $2 AND bsl.brokerid = $3 AND timegranularity >= 15 ORDER BY timegranularity LIMIT 1;
Date: 2026-01-23 01:22:27 Duration: 1ms Database: postgres parameters: $1 = '558', $2 = 'GBPJPY', $3 = '558'
18 37ms 9 3ms 6ms 4ms SELECT DISTINCT ON (basegroupname, symbol) ;Times Reported Time consuming bind #18
Day Hour Count Duration Avg duration 01 9 37ms 4ms -
SELECT DISTINCT ON (basegroupname, symbol) ;
Date: 2026-01-23 01:08:12 Duration: 6ms Database: postgres parameters: $1 = '958', $2 = '958'
-
SELECT DISTINCT ON (basegroupname, symbol) ;
Date: 2026-01-23 01:06:00 Duration: 5ms Database: postgres parameters: $1 = '627', $2 = '627'
-
SELECT DISTINCT ON (basegroupname, symbol) ;
Date: 2026-01-23 01:31:23 Duration: 4ms Database: postgres parameters: $1 = '538', $2 = '538'
19 27ms 6 3ms 5ms 4ms with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;Times Reported Time consuming bind #19
Day Hour Count Duration Avg duration 01 6 27ms 4ms -
with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;
Date: 2026-01-23 01:40:02 Duration: 5ms Database: postgres
-
with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;
Date: 2026-01-23 01:20:03 Duration: 5ms Database: postgres
-
with rankedmt4 as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors ), last_feed_entry as ( select * from rankedmt4 where r = 1 ), ok_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where status = 'OK' ), earliest_entry_after_ok as ( select m.datafeedname, min(m.eventtimestamp) as eventtimestamp from mt4datafeederrors m left outer join ( select datafeedname, eventtimestamp from ok_entries where r = 1) oo on m.datafeedname = oo.datafeedname where m.eventtimestamp > coalesce(oo.eventtimestamp, '1900-01-01'::timestamp without time zone) group by m.datafeedname ), notified_entries as ( select *, row_number() over (partition by datafeedname order by eventtimestamp desc) r from mt4datafeederrors where notified is not null and notified <> '' ), broker as ( select *, row_number() over (partition by feedname order by brokerid) r from ( select distinct b.brokerid, b.name as brokername, dss.classname as feedname from downloadersymbolsettings dss inner join brokersymbollist bsl on dss.symbolid = bsl.symbolid inner join broker b on bsl.brokerid = b.brokerid where dss.enabled = 1) a ) select last.id, last.datafeedname, last.eventtimestamp, last.status, last.errordescription, last.serveraddress, last.username, note.notified, note.eventtimestamp, broker.brokername from last_feed_entry last inner join earliest_entry_after_ok after_ok on last.datafeedname = after_ok.datafeedname inner join broker on last.datafeedname = broker.feedname left outer join ok_entries ok on ok.datafeedname = last.datafeedname left outer join notified_entries note on note.datafeedname = last.datafeedname and note.r = 1 where (ok.r is null or ok.r = 1) and last.datafeedname not in ( select distinct datafeedname from last_feed_entry where status = 'OK') and extract(epoch from (last.eventtimestamp - after_ok.eventtimestamp)) > 60 * 60 and last.eventtimestamp > current_timestamp - interval '1 day' and (note.eventtimestamp is null or note.eventtimestamp < current_timestamp - interval '10 hours') and last.eventtimestamp > current_timestamp - interval '1 hour' and broker.r = 1;
Date: 2026-01-23 01:00:03 Duration: 5ms Database: postgres
20 22ms 285 0ms 0ms 0ms /*server.CPResult*/ SELECT patternid, resy0, resy1, supporty0, supporty1, predictiontimeto, patternstarttime, s.symbolid, resx0, resx1, supportx0, supportx1, symbol, longname, shortname, timegranularity, patternendtime, pattern, a.direction, trendchange, patternlengthbars, patternquality, resultuid as uid, breakout, initialtrend, volumeincrease, symmetry as uniformity, predictionpricefrom, predictionpriceto, noise, exchange, breakout, dtt.absolutetimezoneoffset as tzOs, dtt.timezone as tz FROM autochartist_results a INNER JOIN downloadersymbolsettings dss on a.symbolid = dss.symbolid INNER JOIN datafeedstimetable dtt ON dss.classname = dtt.classname inner join symbols s on a.symbolid = s.symbolid inner join patterns p on p.patternname = a.pattern where resultuid = $1;Times Reported Time consuming bind #20
Day Hour Count Duration Avg duration 01 285 22ms 0ms -
/*server.CPResult*/ SELECT patternid, resy0, resy1, supporty0, supporty1, predictiontimeto, patternstarttime, s.symbolid, resx0, resx1, supportx0, supportx1, symbol, longname, shortname, timegranularity, patternendtime, pattern, a.direction, trendchange, patternlengthbars, patternquality, resultuid as uid, breakout, initialtrend, volumeincrease, symmetry as uniformity, predictionpricefrom, predictionpriceto, noise, exchange, breakout, dtt.absolutetimezoneoffset as tzOs, dtt.timezone as tz FROM autochartist_results a INNER JOIN downloadersymbolsettings dss on a.symbolid = dss.symbolid INNER JOIN datafeedstimetable dtt ON dss.classname = dtt.classname inner join symbols s on a.symbolid = s.symbolid inner join patterns p on p.patternname = a.pattern where resultuid = $1;
Date: 2026-01-23 01:48:15 Duration: 0ms Database: postgres parameters: $1 = '607550024218886301'
-
/*server.CPResult*/ SELECT patternid, resy0, resy1, supporty0, supporty1, predictiontimeto, patternstarttime, s.symbolid, resx0, resx1, supportx0, supportx1, symbol, longname, shortname, timegranularity, patternendtime, pattern, a.direction, trendchange, patternlengthbars, patternquality, resultuid as uid, breakout, initialtrend, volumeincrease, symmetry as uniformity, predictionpricefrom, predictionpriceto, noise, exchange, breakout, dtt.absolutetimezoneoffset as tzOs, dtt.timezone as tz FROM autochartist_results a INNER JOIN downloadersymbolsettings dss on a.symbolid = dss.symbolid INNER JOIN datafeedstimetable dtt ON dss.classname = dtt.classname inner join symbols s on a.symbolid = s.symbolid inner join patterns p on p.patternname = a.pattern where resultuid = $1;
Date: 2026-01-23 01:47:34 Duration: 0ms Database: postgres parameters: $1 = '607548903968559301'
-
/*server.CPResult*/ SELECT patternid, resy0, resy1, supporty0, supporty1, predictiontimeto, patternstarttime, s.symbolid, resx0, resx1, supportx0, supportx1, symbol, longname, shortname, timegranularity, patternendtime, pattern, a.direction, trendchange, patternlengthbars, patternquality, resultuid as uid, breakout, initialtrend, volumeincrease, symmetry as uniformity, predictionpricefrom, predictionpriceto, noise, exchange, breakout, dtt.absolutetimezoneoffset as tzOs, dtt.timezone as tz FROM autochartist_results a INNER JOIN downloadersymbolsettings dss on a.symbolid = dss.symbolid INNER JOIN datafeedstimetable dtt ON dss.classname = dtt.classname inner join symbols s on a.symbolid = s.symbolid inner join patterns p on p.patternname = a.pattern where resultuid = $1;
Date: 2026-01-23 01:17:36 Duration: 0ms Database: postgres parameters: $1 = '607549785828032301'
-
Events
Log levels
Key values
- 494,991 Log entries
Events distribution
Key values
- 0 PANIC entries
- 0 FATAL entries
- 34 ERROR entries
- 0 WARNING entries
Most Frequent Errors/Events
Key values
- 34 Max number of times the same event was reported
- 34 Total events found
Rank Times reported Error 1 34 ERROR: function fixcandlegaps(...) is not unique
Times Reported Most Frequent Error / Event #1
Day Hour Count Jan 23 01 34 - ERROR: function fixcandlegaps(unknown, boolean) is not unique at character 8
Hint: Could not choose a best candidate function. You might need to add explicit type casts.
Statement: select fixcandlegaps('GLOBALFXMT5', false);Date: 2026-01-23 01:06:01