-
Global information
- Generated on Thu Jan 15 12:00:38 2026
- Log file: /home/postgres/pg_data/data/pg_log/postgresql-2026-01-15_130000.log, ..., /home/postgres/pg_data/data/pg_log/postgresql-2026-01-15_133955.log
- Parsed 4,594,415 log entries in 1m37s
- Log start from 2026-01-15 13:00:00 to 2026-01-15 14:00:00
-
Overview
Global Stats
- 287 Number of unique normalized queries
- 436,767 Number of queries
- 2h7m36s Total query duration
- 2026-01-15 13:00:00 First query
- 2026-01-15 14:00:00 Last query
- 5,509 queries/s at 2026-01-15 13:00:04 Query peak
- 2h7m36s Total query duration
- 28s514ms Prepare/parse total duration
- 1m47s Bind total duration
- 2h5m19s 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
- 39 Total number of automatic vacuums
- 57 Total number of automatic analyzes
- 913 Number temporary file
- 162.87 MiB Max size of temporary file
- 5.92 MiB Average size of temporary file
- 11,525 Total number of sessions
- 12 sessions at 2026-01-15 13:34:34 Session peak
- 2d11h26m31s Total duration of sessions
- 18s567ms Average duration of sessions
- 37 Average queries per session
- 664ms Average queries duration per session
- 17s903ms Average idle time per session
- 11,527 Total number of connections
- 75 connections/s at 2026-01-15 13:42:37 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 5,509 queries/s Query Peak
- 2026-01-15 13:00:04 Date
SELECT Traffic
Key values
- 2,663 queries/s Query Peak
- 2026-01-15 13:00:04 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 230 queries/s Query Peak
- 2026-01-15 13:00:57 Date
Queries duration
Key values
- 2h7m36s 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 15 13 436,766 0ms 48s238ms 17ms 4m17s 4m38s 4m56s 14 1 0ms 0ms 0ms 0ms 0ms 0ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jan 15 13 150,643 26 0ms 0ms 0ms 0ms 14 1 0 0ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jan 15 13 30,882 2,785 16 96 0ms 0ms 0ms 0ms 14 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Jan 15 13 69,672 186,027 2.67 35.39% 14 0 1 1.00 0.00% Day Hour Count Average / Second Jan 15 13 11,527 3.20/s 14 0 0.00/s Day Hour Count Average Duration Average idle time Jan 15 13 11,525 18s567ms 17s915ms 14 0 0ms 0ms -
Connections
Established Connections
Key values
- 75 connections Connection Peak
- 2026-01-15 13:42:37 Date
Connections per database
Key values
- acaweb_fx Main Database
- 11,527 connections Total
Connections per user
Key values
- postgres Main User
- 11,527 connections Total
Connections per host
Key values
- 192.168.1.15 Main host with 5733 connections
- 11,527 Total connections
Host Count 127.0.0.1 113 192.168.0.114 7 192.168.0.216 101 192.168.0.74 2,929 192.168.1.127 8 192.168.1.145 91 192.168.1.15 5,733 192.168.1.20 118 192.168.1.231 20 192.168.1.239 2 192.168.1.90 88 192.168.2.126 62 192.168.2.182 12 192.168.2.82 48 192.168.3.199 36 192.168.4.142 1,422 192.168.4.150 10 192.168.4.207 1 192.168.4.238 16 192.168.4.33 99 192.168.4.40 7 192.168.4.98 330 [local] 274 -
Sessions
Simultaneous sessions
Key values
- 12 sessions Session Peak
- 2026-01-15 13:34:34 Date
Histogram of session times
Key values
- 10,280 0-500ms duration
Sessions per database
Key values
- acaweb_fx Main Database
- 11,525 sessions Total
Sessions per user
Key values
- postgres Main User
- 11,525 sessions Total
Sessions per host
Key values
- 192.168.1.15 Main Host
- 11,525 sessions Total
Host Count Total Duration Average Duration 127.0.0.1 113 8s244ms 72ms 192.168.0.114 6 30m19s 5m3s 192.168.0.216 101 1m2s 616ms 192.168.0.74 2,929 4h58m44s 6s119ms 192.168.1.127 8 10s643ms 1s330ms 192.168.1.145 91 4h7m39s 2m43s 192.168.1.15 5,733 3h47m14s 2s378ms 192.168.1.20 118 17h32m16s 8m55s 192.168.1.231 20 9h53m40s 29m41s 192.168.1.239 2 12ms 6ms 192.168.1.90 88 37s179ms 422ms 192.168.2.126 62 6s491ms 104ms 192.168.2.182 12 951ms 79ms 192.168.2.82 48 22s556ms 469ms 192.168.3.199 36 1s705ms 47ms 192.168.4.142 1,422 10m23s 438ms 192.168.4.150 9 18h9m41s 2h1m4s 192.168.4.207 1 169ms 169ms 192.168.4.238 16 19s951ms 1s246ms 192.168.4.33 99 6m 3s638ms 192.168.4.40 7 4m40s 40s57ms 192.168.4.98 330 14s446ms 43ms [local] 274 2m46s 609ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 13,668 buffers Checkpoint Peak
- 2026-01-15 13:05:27 Date
- 209.903 seconds Highest write time
- 0.023 seconds Sync time
Checkpoints Wal files
Key values
- 5 files Wal files usage Peak
- 2026-01-15 13:05:27 Date
Checkpoints distance
Key values
- 168.25 Mo Distance Peak
- 2026-01-15 13:05:27 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Jan 15 13 56,678 1,997.42s 0.096s 1,997.861s 14 0 0s 0s 0s Day Hour Added Removed Recycled Synced files Longest sync Average sync Jan 15 13 0 0 27 1,976 0.009s 0s 14 0 0 0 0 0s 0s Day Hour Count Avg time (sec) Jan 15 13 0 0s 14 0 0s Day Hour Mean distance Mean estimate Jan 15 13 37,244.17 kB 65,872.17 kB 14 0.00 kB 0.00 kB -
Temporary Files
Size of temporary files
Key values
- 184.01 MiB Temp Files size Peak
- 2026-01-15 13:40:07 Date
Number of temporary files
Key values
- 63 per second Temp Files Peak
- 2026-01-15 13:17:11 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Jan 15 13 913 5.28 GiB 5.92 MiB 14 0 0 0 Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 52 176.80 MiB 3.03 MiB 3.89 MiB 3.40 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, $226, $227, $228, $229, $230, $231, $232, $233, $234, $235, $236, $237, $238, $239, $240, $241, $242, $243, $244, $245, $246, $247, $248, $249, $250, $251, $252, $253, $254, $255, $256, $257, $258, $259, $260, $261, $262, $263, $264, $265, $266, $267, $268, $269, $270, $271, $272, $273, $274, $275, $276, $277, $278, $279, $280, $281, $282, $283, $284, $285, $286, $287, $288, $289, $290, $291, $292, $293, $294, $295, $296, $297, $298, $299, $300, $301, $302, $303, $304, $305, $306, $307, $308, $309, $310, $311, $312, $313, $314, $315, $316, $317, $318, $319, $320, $321, $322)) AND ($323 = 0 OR ccr.patternlengthbars <= $324)), results AS ( SELECT DISTINCT ON (symbolid) * FROM all_results WHERE (FALSE = $325 OR relevant = 1) AND ($326 = 0 OR age <= $327) ORDER BY symbolid, resultuid ) SELECT * from results ORDER BY identified DESC, length DESC;
Date: 2026-01-15 13:42:30 Duration: 0ms
2 29 166.00 MiB 3.24 MiB 9.25 MiB 5.72 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-15 13:41:35 Duration: 0ms
3 29 1.66 GiB 3.83 MiB 162.87 MiB 58.44 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-15 13:40:07 Duration: 0ms
4 16 618.12 MiB 38.63 MiB 38.63 MiB 38.63 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-15 13:41:13 Duration: 0ms
5 16 1.11 GiB 70.94 MiB 70.95 MiB 70.95 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-15 13:41:16 Duration: 0ms
6 8 994.51 MiB 124.29 MiB 124.34 MiB 124.31 MiB select updateresultsmaterializedview ();-
select updateresultsmaterializedview ();
Date: 2026-01-15 13:47:15 Duration: 0ms
7 8 24.84 MiB 3.10 MiB 3.11 MiB 3.10 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-15 13:44:00 Duration: 0ms
8 4 358.73 MiB 89.60 MiB 89.83 MiB 89.68 MiB select updateageforrelevantresults ();-
select updateageforrelevantresults ();
Date: 2026-01-15 13:47:06 Duration: 0ms
9 1 3.10 MiB 3.10 MiB 3.10 MiB 3.10 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-15 13:27:18 Duration: 0ms
10 1 3.11 MiB 3.11 MiB 3.11 MiB 3.11 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-15 13:09:02 Duration: 0ms
Queries generating the largest temporary files
Rank Size Query 1 162.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-15 13:20:05 ]
2 157.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-15 13:50:08 ]
3 124.34 MiB select updateresultsmaterializedview ();[ Date: 2026-01-15 13:02:16 ]
4 124.32 MiB select updateresultsmaterializedview ();[ Date: 2026-01-15 13:32:18 ]
5 124.32 MiB select updateresultsmaterializedview ();[ Date: 2026-01-15 13:17:16 ]
6 124.32 MiB select updateresultsmaterializedview ();[ Date: 2026-01-15 13:47:15 ]
7 124.31 MiB select updateresultsmaterializedview ();[ Date: 2026-01-15 13:05:32 ]
8 124.31 MiB select updateresultsmaterializedview ();[ Date: 2026-01-15 13:50:32 ]
9 124.30 MiB select updateresultsmaterializedview ();[ Date: 2026-01-15 13:35:32 ]
10 124.29 MiB select updateresultsmaterializedview ();[ Date: 2026-01-15 13:20:32 ]
11 109.11 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-15 13:30:05 ]
12 108.28 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-15 13:10:05 ]
13 103.46 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-15 13:00:06 ]
14 97.55 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-15 13:40:04 ]
15 89.83 MiB select updateageforrelevantresults ();[ Date: 2026-01-15 13:02:06 ]
16 89.70 MiB select updateageforrelevantresults ();[ Date: 2026-01-15 13:32:06 ]
17 89.61 MiB select updateageforrelevantresults ();[ Date: 2026-01-15 13:47:06 ]
18 89.60 MiB select updateageforrelevantresults ();[ Date: 2026-01-15 13:17:06 ]
19 86.89 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-15 13:00:09 ]
20 85.96 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-15 13:10:05 ]
-
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.public.datafeeds_latestrun 5 acaweb_fx.pg_catalog.pg_attribute 5 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 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.whatshot_probability 1 Total 57 Vacuums per table
Key values
- public.solr_relevance_old (17) Main table vacuumed on database acaweb_fx
- 39 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 17 16 15,169 0 59 0 0 10,481 337 3,123,140 acaweb_fx.public.datafeeds_latestrun 4 0 483 0 10 0 0 59 9 64,214 acaweb_fx.public.relevance_keylevels_results 3 3 11,802 0 733 9 67 3,295 706 2,078,674 acaweb_fx.public.relevance_fibonacci_results 3 3 3,719 0 89 2 146 484 67 174,620 acaweb_fx.pg_toast.pg_toast_2619 2 2 320 0 61 0 0 215 59 267,304 acaweb_fx.public.relevance_autochartist_results 2 2 6,927 0 150 0 486 1,209 138 319,402 acaweb_fx.pg_catalog.pg_type 1 1 129 0 19 0 0 50 13 92,167 acaweb_fx.public.autochartist_symbolupdates 1 1 25,666 0 1,313 3 37,689 7,939 712 834,343 acaweb_fx.pg_catalog.pg_attribute 1 1 793 0 163 0 67 377 123 744,530 acaweb_fx.pg_catalog.pg_statistic 1 1 981 0 247 0 582 482 215 794,934 acaweb_fx.public.symbollatestupdatetime 1 0 1,520 0 269 0 571 1,183 251 643,580 acaweb_fx.pg_catalog.pg_depend 1 1 388 0 70 0 59 155 61 324,825 acaweb_fx.public.latest_t15_candle_view 1 1 66 0 1 0 0 6 1 9,061 acaweb_fx.pg_catalog.pg_class 1 1 472 0 61 0 0 152 60 291,867 Total 39 33 68,435 50,508 3,245 14 39,667 26,087 2,752 9,762,661 Tuples removed per table
Key values
- public.solr_relevance_old (68816) Main table with removed tuples on database acaweb_fx
- 100560 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain acaweb_fx.public.solr_relevance_old 17 16 68,816 117,762 7,874 0 3,796 acaweb_fx.public.symbollatestupdatetime 1 0 18,573 91,200 10 0 1,714 acaweb_fx.public.autochartist_symbolupdates 1 1 6,366 52,374 101 0 40,691 acaweb_fx.public.relevance_keylevels_results 3 3 2,968 39,207 2,645 0 837 acaweb_fx.pg_catalog.pg_attribute 1 1 1,630 10,734 0 0 264 acaweb_fx.pg_catalog.pg_statistic 1 1 562 3,712 0 0 1,194 acaweb_fx.pg_catalog.pg_depend 1 1 480 14,743 93 0 135 acaweb_fx.public.relevance_autochartist_results 2 2 282 17,881 672 0 760 acaweb_fx.public.datafeeds_latestrun 4 0 224 63 7 0 64 acaweb_fx.pg_catalog.pg_class 1 1 178 1,649 0 0 150 acaweb_fx.public.relevance_fibonacci_results 3 3 150 4,331 222 0 306 acaweb_fx.pg_toast.pg_toast_2619 2 2 140 334 1 0 98 acaweb_fx.pg_catalog.pg_type 1 1 129 1,446 0 0 38 acaweb_fx.public.latest_t15_candle_view 1 1 62 14 0 0 1 Total 39 33 100,560 355,450 11,625 0 50,048 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 140 0 acaweb_fx.pg_catalog.pg_type 1 1 129 0 acaweb_fx.public.datafeeds_latestrun 4 0 224 0 acaweb_fx.public.autochartist_symbolupdates 1 1 6366 0 acaweb_fx.pg_catalog.pg_attribute 1 1 1630 0 acaweb_fx.pg_catalog.pg_statistic 1 1 562 0 acaweb_fx.public.symbollatestupdatetime 1 0 18573 0 acaweb_fx.pg_catalog.pg_depend 1 1 480 0 acaweb_fx.public.latest_t15_candle_view 1 1 62 0 acaweb_fx.public.relevance_keylevels_results 3 3 2968 0 acaweb_fx.pg_catalog.pg_class 1 1 178 0 acaweb_fx.public.solr_relevance_old 17 16 68816 0 acaweb_fx.public.relevance_autochartist_results 2 2 282 0 acaweb_fx.public.relevance_fibonacci_results 3 3 150 0 Total 39 33 100,560 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Jan 15 13 39 57 14 0 0 - 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
- 150,644 Total read queries
- 46,212 Total write queries
Queries by database
Key values
- unknown Main database
- 435,737 Requests
- 2h5m19s (unknown)
- Main time consuming database
Database Request type Count Duration acaweb_fx Total 917 0ms copy from 80 0ms copy to 26 0ms cte 105 0ms ddl 16 0ms delete 16 0ms others 203 0ms select 102 0ms tcl 331 0ms update 38 0ms socialmedia Total 113 0ms others 8 0ms select 99 0ms tcl 6 0ms unknown Total 435,737 2h5m19s copy from 16 0ms cte 11,464 0ms insert 30,882 0ms others 21,334 0ms select 150,443 0ms tcl 485 0ms update 2,747 0ms Queries by user
Key values
- unknown Main user
- 435,737 Requests
User Request type Count Duration postgres Total 1,030 0ms copy from 80 0ms copy to 26 0ms cte 105 0ms ddl 16 0ms delete 16 0ms others 211 0ms select 201 0ms tcl 337 0ms update 38 0ms unknown Total 435,737 2h5m19s copy from 16 0ms cte 11,464 0ms insert 30,882 0ms others 21,334 0ms select 150,443 0ms tcl 485 0ms update 2,747 0ms Duration by user
Key values
- 2h5m19s (unknown) Main time consuming user
User Request type Count Duration postgres Total 1,030 0ms copy from 80 0ms copy to 26 0ms cte 105 0ms ddl 16 0ms delete 16 0ms others 211 0ms select 201 0ms tcl 337 0ms update 38 0ms unknown Total 435,737 2h5m19s copy from 16 0ms cte 11,464 0ms insert 30,882 0ms others 21,334 0ms select 150,443 0ms tcl 485 0ms update 2,747 0ms Queries by host
Key values
- unknown Main host
- 436,767 Requests
- 2h5m19s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 436,380 Requests
- 2h5m19s (unknown)
- Main time consuming application
Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-01-15 13:25:41 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 146,564 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 1 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 15 13 1 0ms 0ms 2 0ms 51 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 15 13 51 0ms 0ms 3 0ms 3 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 #3
Day Hour Count Duration Avg duration Jan 15 13 3 0ms 0ms 4 0ms 2,133 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 #4
Day Hour Count Duration Avg duration Jan 15 13 2,133 0ms 0ms 5 0ms 48 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 #5
Day Hour Count Duration Avg duration Jan 15 13 48 0ms 0ms 6 0ms 4 0ms 0ms 0ms select updaterelevantforrelevantresults ();Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jan 15 13 4 0ms 0ms 7 0ms 8 0ms 0ms 0ms set datestyle = iso;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jan 15 13 8 0ms 0ms 8 0ms 8 0ms 0ms 0ms set client_encoding to ?;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jan 15 13 8 0ms 0ms 9 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 #9
Day Hour Count Duration Avg duration Jan 15 13 18 0ms 0ms 10 0ms 411 0ms 0ms 0ms commit;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jan 15 13 411 0ms 0ms 11 0ms 339 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 #11
Day Hour Count Duration Avg duration Jan 15 13 339 0ms 0ms 12 0ms 240 0ms 0ms 0ms select count(*), sum(size), extract(epoch from now() - min(modification)) from pg_ls_waldir ();Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Jan 15 13 240 0ms 0ms 13 0ms 1 0ms 0ms 0ms select user_role from phpgen_users where user_name = ?;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jan 15 13 1 0ms 0ms 14 0ms 240 0ms 0ms 0ms select system_identifier from pg_control_system ();Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jan 15 13 240 0ms 0ms 15 0ms 8 0ms 0ms 0ms select groupid, exchange, groupname, symbol, longname from prfsymboltree where brokerid = ? order by groupname, symbol;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jan 15 13 8 0ms 0ms 16 0ms 8 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 #16
Day Hour Count Duration Avg duration Jan 15 13 8 0ms 0ms 17 0ms 12 0ms 0ms 0ms select updatedatafeedslatestrun (?);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jan 15 13 12 0ms 0ms 18 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 #18
Day Hour Count Duration Avg duration Jan 15 13 1 0ms 0ms 19 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; 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 #19
Day Hour Count Duration Avg duration Jan 15 13 3 0ms 0ms 20 0ms 4 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 #20
Day Hour Count Duration Avg duration Jan 15 13 4 0ms 0ms Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 68,757 0ms 0ms 0ms 0ms select ?;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Jan 15 13 68,756 0ms 0ms 14 1 0ms 0ms 2 54,128 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 15 13 54,128 0ms 0ms 3 10,409 0ms 0ms 0ms 0ms set extra_float_digits = ?;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Jan 15 13 10,409 0ms 0ms 4 10,383 0ms 0ms 0ms 0ms set application_name = ?;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jan 15 13 10,383 0ms 0ms 5 9,669 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 #5
Day Hour Count Duration Avg duration Jan 15 13 9,669 0ms 0ms 6 7,876 0ms 0ms 0ms 0ms insert into executionlogs (executionid, status, message, details, detailtype) values (null, ?, ?, null, null);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jan 15 13 7,876 0ms 0ms 7 6,032 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 #7
Day Hour Count Duration Avg duration Jan 15 13 6,032 0ms 0ms 8 5,681 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 #8
Day Hour Count Duration Avg duration Jan 15 13 5,681 0ms 0ms 9 5,237 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 #9
Day Hour Count Duration Avg duration Jan 15 13 5,237 0ms 0ms 10 3,362 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 #10
Day Hour Count Duration Avg duration Jan 15 13 3,362 0ms 0ms 11 2,999 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 #11
Day Hour Count Duration Avg duration Jan 15 13 2,999 0ms 0ms 12 2,753 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 #12
Day Hour Count Duration Avg duration Jan 15 13 2,753 0ms 0ms 13 2,138 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 15 13 2,138 0ms 0ms 14 2,133 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 #14
Day Hour Count Duration Avg duration Jan 15 13 2,133 0ms 0ms 15 1,880 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 #15
Day Hour Count Duration Avg duration Jan 15 13 1,880 0ms 0ms 16 1,271 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 15 13 1,271 0ms 0ms 17 1,197 0ms 0ms 0ms 0ms select * from status_perbroker;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jan 15 13 1,197 0ms 0ms 18 1,180 0ms 0ms 0ms 0ms select null as table_cat, n.nspname as table_schem, c.relname as table_name, case n.nspname ~ ? or n.nspname = ? when true then case when n.nspname = ? or n.nspname = ? then case c.relkind when ? then ? when ? then ? when ? then ? else null end when n.nspname = ? then case c.relkind when ? then ? when ? then ? else null end else case c.relkind when ? then ? when ? then ? when ? then ? when ? then ? when ? then ? else null end end when false then case c.relkind when ? then ? when ? then ? when ? then ? when ? then ? when ? then ? when ? then ? when ? then ? when ? then ? else null end else null end as table_type, d.description as remarks, ? as type_cat, ? as type_schem, ? as type_name, ? as self_referencing_col_name, ? as ref_generation from pg_catalog.pg_namespace n, pg_catalog.pg_class c left join pg_catalog.pg_description d on (c.oid = d.objoid and d.objsubid = ?) left join pg_catalog.pg_class dc on (d.classoid = dc.oid and dc.relname = ?) left join pg_catalog.pg_namespace dn on (dn.oid = dc.relnamespace and dn.nspname = ?) where c.relnamespace = n.oid and c.relname like ? and (false or (c.relkind = ? and n.nspname !~ ? and n.nspname <> ?)) order by table_type, table_schem, table_name;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jan 15 13 1,180 0ms 0ms 19 814 0ms 0ms 0ms 0ms select case when a.old_resultuid = ? then a.old_resultuid else a.resultuid end as resultuid, s.symbol, pattern as patternname, timegranularity as interval, patternlengthbars as length, patternendtime, direction, breakout, predictiontimeto, predictionpricefrom, predictionpriceto, patternstartprice, resy1, supporty1, dtt.timezone, cps.pip, newlevels.profit 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 left join currencypips cps on cps.symbol = s.symbol left join lateral calc_cp_signal (a.resultuid) newlevels on true where (a.old_resultuid = ? or a.resultuid = ?) and dtt.dayofweek = ?;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jan 15 13 814 0ms 0ms 20 640 0ms 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 t60 t where t.symbolid = ? and (bsf = ? or bsf is null) and pricedatetime >= ? and pricedatetime <= ? order by pricedatetime desc limit ?;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Jan 15 13 640 0ms 0ms Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 0ms 0ms 0ms 1 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 15 13 1 0ms 0ms 2 0ms 0ms 0ms 51 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 15 13 51 0ms 0ms 3 0ms 0ms 0ms 3 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 #3
Day Hour Count Duration Avg duration Jan 15 13 3 0ms 0ms 4 0ms 0ms 0ms 2,133 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 #4
Day Hour Count Duration Avg duration Jan 15 13 2,133 0ms 0ms 5 0ms 0ms 0ms 48 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 #5
Day Hour Count Duration Avg duration Jan 15 13 48 0ms 0ms 6 0ms 0ms 0ms 4 0ms select updaterelevantforrelevantresults ();Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jan 15 13 4 0ms 0ms 7 0ms 0ms 0ms 8 0ms set datestyle = iso;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jan 15 13 8 0ms 0ms 8 0ms 0ms 0ms 8 0ms set client_encoding to ?;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jan 15 13 8 0ms 0ms 9 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 #9
Day Hour Count Duration Avg duration Jan 15 13 18 0ms 0ms 10 0ms 0ms 0ms 411 0ms commit;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jan 15 13 411 0ms 0ms 11 0ms 0ms 0ms 339 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 #11
Day Hour Count Duration Avg duration Jan 15 13 339 0ms 0ms 12 0ms 0ms 0ms 240 0ms select count(*), sum(size), extract(epoch from now() - min(modification)) from pg_ls_waldir ();Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Jan 15 13 240 0ms 0ms 13 0ms 0ms 0ms 1 0ms select user_role from phpgen_users where user_name = ?;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jan 15 13 1 0ms 0ms 14 0ms 0ms 0ms 240 0ms select system_identifier from pg_control_system ();Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jan 15 13 240 0ms 0ms 15 0ms 0ms 0ms 8 0ms select groupid, exchange, groupname, symbol, longname from prfsymboltree where brokerid = ? order by groupname, symbol;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jan 15 13 8 0ms 0ms 16 0ms 0ms 0ms 8 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 #16
Day Hour Count Duration Avg duration Jan 15 13 8 0ms 0ms 17 0ms 0ms 0ms 12 0ms select updatedatafeedslatestrun (?);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jan 15 13 12 0ms 0ms 18 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 #18
Day Hour Count Duration Avg duration Jan 15 13 1 0ms 0ms 19 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; 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 #19
Day Hour Count Duration Avg duration Jan 15 13 3 0ms 0ms 20 0ms 0ms 0ms 4 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 #20
Day Hour Count Duration Avg duration Jan 15 13 4 0ms 0ms Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 13s845ms 16,024 0ms 20ms 0ms SELECT ;Times Reported Time consuming prepare #1
Day Hour Count Duration Avg duration Jan 15 13 16,024 13s845ms 0ms -
SELECT ;
Date: 2026-01-15 13:12:27 Duration: 20ms Database: postgres
-
SELECT ;
Date: 2026-01-15 13:00:09 Duration: 18ms Database: postgres
-
SELECT ;
Date: 2026-01-15 13:15:58 Duration: 15ms Database: postgres
2 8s551ms 7,071 0ms 24ms 1ms WITH rar_max as ( ;Times Reported Time consuming prepare #2
Day Hour Count Duration Avg duration 13 7,071 8s551ms 1ms -
WITH rar_max as ( ;
Date: 2026-01-15 13:00:09 Duration: 24ms Database: postgres
-
WITH rar_max as ( ;
Date: 2026-01-15 13:00:57 Duration: 20ms Database: postgres
-
WITH rar_max as ( ;
Date: 2026-01-15 13:38:06 Duration: 11ms Database: postgres
3 1s813ms 1,399 0ms 7ms 1ms SELECT symbolid, ;Times Reported Time consuming prepare #3
Day Hour Count Duration Avg duration 13 1,399 1s813ms 1ms -
SELECT symbolid, ;
Date: 2026-01-15 13:01:09 Duration: 7ms Database: postgres
-
SELECT symbolid, ;
Date: 2026-01-15 13:16:03 Duration: 6ms Database: postgres
-
SELECT symbolid, ;
Date: 2026-01-15 13:46:38 Duration: 3ms Database: postgres
4 1s383ms 10,409 0ms 5ms 0ms SET extra_float_digits = 3;Times Reported Time consuming prepare #4
Day Hour Count Duration Avg duration 13 10,409 1s383ms 0ms -
SET extra_float_digits = 3;
Date: 2026-01-15 13:41:06 Duration: 5ms Database: postgres
-
SET extra_float_digits = 3;
Date: 2026-01-15 13:42:58 Duration: 4ms Database: postgres
-
SET extra_float_digits = 3;
Date: 2026-01-15 13:46:52 Duration: 4ms Database: postgres
5 849ms 15,647 0ms 13ms 0ms select 1;Times Reported Time consuming prepare #5
Day Hour Count Duration Avg duration 13 15,647 849ms 0ms -
select 1;
Date: 2026-01-15 13:57:11 Duration: 13ms Database: postgres
-
select 1;
Date: 2026-01-15 13:28:22 Duration: 6ms Database: postgres
-
select 1;
Date: 2026-01-15 13:56:10 Duration: 4ms Database: postgres
6 615ms 608 0ms 14ms 1ms SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;Times Reported Time consuming prepare #6
Day Hour Count Duration Avg duration 13 608 615ms 1ms -
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-15 13:46:03 Duration: 14ms Database: postgres
-
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-15 13:00:57 Duration: 3ms Database: postgres
-
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-15 13:15:52 Duration: 1ms Database: postgres
7 288ms 3,128 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 prepare #7
Day Hour Count Duration Avg duration 13 3,128 288ms 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-15 13:00:05 Duration: 0ms 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-15 13:11:59 Duration: 0ms 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-15 13:11:43 Duration: 0ms Database: postgres
8 203ms 1,930 0ms 1ms 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 13 1,930 203ms 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-15 13:00:44 Duration: 1ms 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-15 13:47:23 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-15 13:11:55 Duration: 0ms Database: postgres
9 189ms 1,289 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 prepare #9
Day Hour Count Duration Avg duration 13 1,289 189ms 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-15 13:56:57 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-15 13:56:43 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-15 13:26:58 Duration: 0ms Database: postgres
10 179ms 1,180 0ms 0ms 0ms SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME, CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema' WHEN true THEN CASE WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TABLE' WHEN 'v' THEN 'SYSTEM VIEW' WHEN 'i' THEN 'SYSTEM INDEX' ELSE NULL END WHEN n.nspname = 'pg_toast' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TOAST TABLE' WHEN 'i' THEN 'SYSTEM TOAST INDEX' ELSE NULL END ELSE CASE c.relkind WHEN 'r' THEN 'TEMPORARY TABLE' WHEN 'p' THEN 'TEMPORARY TABLE' WHEN 'i' THEN 'TEMPORARY INDEX' WHEN 'S' THEN 'TEMPORARY SEQUENCE' WHEN 'v' THEN 'TEMPORARY VIEW' ELSE NULL END END WHEN false THEN CASE c.relkind WHEN 'r' THEN 'TABLE' WHEN 'p' THEN 'PARTITIONED TABLE' WHEN 'i' THEN 'INDEX' WHEN 'S' THEN 'SEQUENCE' WHEN 'v' THEN 'VIEW' WHEN 'c' THEN 'TYPE' WHEN 'f' THEN 'FOREIGN TABLE' WHEN 'm' THEN 'MATERIALIZED VIEW' ELSE NULL END ELSE NULL END AS TABLE_TYPE, d.description AS REMARKS, '' as TYPE_CAT, '' as TYPE_SCHEM, '' as TYPE_NAME, '' AS SELF_REFERENCING_COL_NAME, '' AS REF_GENERATION FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0) LEFT JOIN pg_catalog.pg_class dc ON (d.classoid = dc.oid AND dc.relname = 'pg_class') LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid = dc.relnamespace AND dn.nspname = 'pg_catalog') WHERE c.relnamespace = n.oid AND c.relname LIKE 'PROBABLYNOT' AND (false OR (c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema')) ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME;Times Reported Time consuming prepare #10
Day Hour Count Duration Avg duration 13 1,180 179ms 0ms -
SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME, CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema' WHEN true THEN CASE WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TABLE' WHEN 'v' THEN 'SYSTEM VIEW' WHEN 'i' THEN 'SYSTEM INDEX' ELSE NULL END WHEN n.nspname = 'pg_toast' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TOAST TABLE' WHEN 'i' THEN 'SYSTEM TOAST INDEX' ELSE NULL END ELSE CASE c.relkind WHEN 'r' THEN 'TEMPORARY TABLE' WHEN 'p' THEN 'TEMPORARY TABLE' WHEN 'i' THEN 'TEMPORARY INDEX' WHEN 'S' THEN 'TEMPORARY SEQUENCE' WHEN 'v' THEN 'TEMPORARY VIEW' ELSE NULL END END WHEN false THEN CASE c.relkind WHEN 'r' THEN 'TABLE' WHEN 'p' THEN 'PARTITIONED TABLE' WHEN 'i' THEN 'INDEX' WHEN 'S' THEN 'SEQUENCE' WHEN 'v' THEN 'VIEW' WHEN 'c' THEN 'TYPE' WHEN 'f' THEN 'FOREIGN TABLE' WHEN 'm' THEN 'MATERIALIZED VIEW' ELSE NULL END ELSE NULL END AS TABLE_TYPE, d.description AS REMARKS, '' as TYPE_CAT, '' as TYPE_SCHEM, '' as TYPE_NAME, '' AS SELF_REFERENCING_COL_NAME, '' AS REF_GENERATION FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0) LEFT JOIN pg_catalog.pg_class dc ON (d.classoid = dc.oid AND dc.relname = 'pg_class') LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid = dc.relnamespace AND dn.nspname = 'pg_catalog') WHERE c.relnamespace = n.oid AND c.relname LIKE 'PROBABLYNOT' AND (false OR (c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema')) ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME;
Date: 2026-01-15 13:14:17 Duration: 0ms Database: postgres
-
SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME, CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema' WHEN true THEN CASE WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TABLE' WHEN 'v' THEN 'SYSTEM VIEW' WHEN 'i' THEN 'SYSTEM INDEX' ELSE NULL END WHEN n.nspname = 'pg_toast' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TOAST TABLE' WHEN 'i' THEN 'SYSTEM TOAST INDEX' ELSE NULL END ELSE CASE c.relkind WHEN 'r' THEN 'TEMPORARY TABLE' WHEN 'p' THEN 'TEMPORARY TABLE' WHEN 'i' THEN 'TEMPORARY INDEX' WHEN 'S' THEN 'TEMPORARY SEQUENCE' WHEN 'v' THEN 'TEMPORARY VIEW' ELSE NULL END END WHEN false THEN CASE c.relkind WHEN 'r' THEN 'TABLE' WHEN 'p' THEN 'PARTITIONED TABLE' WHEN 'i' THEN 'INDEX' WHEN 'S' THEN 'SEQUENCE' WHEN 'v' THEN 'VIEW' WHEN 'c' THEN 'TYPE' WHEN 'f' THEN 'FOREIGN TABLE' WHEN 'm' THEN 'MATERIALIZED VIEW' ELSE NULL END ELSE NULL END AS TABLE_TYPE, d.description AS REMARKS, '' as TYPE_CAT, '' as TYPE_SCHEM, '' as TYPE_NAME, '' AS SELF_REFERENCING_COL_NAME, '' AS REF_GENERATION FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0) LEFT JOIN pg_catalog.pg_class dc ON (d.classoid = dc.oid AND dc.relname = 'pg_class') LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid = dc.relnamespace AND dn.nspname = 'pg_catalog') WHERE c.relnamespace = n.oid AND c.relname LIKE 'PROBABLYNOT' AND (false OR (c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema')) ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME;
Date: 2026-01-15 13:15:01 Duration: 0ms Database: postgres
-
SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME, CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema' WHEN true THEN CASE WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TABLE' WHEN 'v' THEN 'SYSTEM VIEW' WHEN 'i' THEN 'SYSTEM INDEX' ELSE NULL END WHEN n.nspname = 'pg_toast' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TOAST TABLE' WHEN 'i' THEN 'SYSTEM TOAST INDEX' ELSE NULL END ELSE CASE c.relkind WHEN 'r' THEN 'TEMPORARY TABLE' WHEN 'p' THEN 'TEMPORARY TABLE' WHEN 'i' THEN 'TEMPORARY INDEX' WHEN 'S' THEN 'TEMPORARY SEQUENCE' WHEN 'v' THEN 'TEMPORARY VIEW' ELSE NULL END END WHEN false THEN CASE c.relkind WHEN 'r' THEN 'TABLE' WHEN 'p' THEN 'PARTITIONED TABLE' WHEN 'i' THEN 'INDEX' WHEN 'S' THEN 'SEQUENCE' WHEN 'v' THEN 'VIEW' WHEN 'c' THEN 'TYPE' WHEN 'f' THEN 'FOREIGN TABLE' WHEN 'm' THEN 'MATERIALIZED VIEW' ELSE NULL END ELSE NULL END AS TABLE_TYPE, d.description AS REMARKS, '' as TYPE_CAT, '' as TYPE_SCHEM, '' as TYPE_NAME, '' AS SELF_REFERENCING_COL_NAME, '' AS REF_GENERATION FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0) LEFT JOIN pg_catalog.pg_class dc ON (d.classoid = dc.oid AND dc.relname = 'pg_class') LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid = dc.relnamespace AND dn.nspname = 'pg_catalog') WHERE c.relnamespace = n.oid AND c.relname LIKE 'PROBABLYNOT' AND (false OR (c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema')) ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME;
Date: 2026-01-15 13:15:01 Duration: 0ms Database: postgres
11 142ms 10,383 0ms 2ms 0ms SET application_name = 'PostgreSQL JDBC Driver';Times Reported Time consuming prepare #11
Day Hour Count Duration Avg duration 13 10,383 142ms 0ms -
SET application_name = 'PostgreSQL JDBC Driver';
Date: 2026-01-15 13:45:48 Duration: 2ms Database: postgres
-
SET application_name = 'PostgreSQL JDBC Driver';
Date: 2026-01-15 13:03:55 Duration: 2ms Database: postgres
-
SET application_name = 'PostgreSQL JDBC Driver';
Date: 2026-01-15 13:36:35 Duration: 2ms Database: postgres
12 102ms 16 4ms 7ms 6ms with sym_info as ( ;Times Reported Time consuming prepare #12
Day Hour Count Duration Avg duration 13 16 102ms 6ms -
with sym_info as ( ;
Date: 2026-01-15 13:51:45 Duration: 7ms Database: postgres
-
with sym_info as ( ;
Date: 2026-01-15 13:21:57 Duration: 6ms Database: postgres
-
with sym_info as ( ;
Date: 2026-01-15 13:06:48 Duration: 6ms Database: postgres
13 45ms 18 1ms 2ms 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 #13
Day Hour Count Duration Avg duration 13 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-15 13:11: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-15 13:01:04 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-15 13:20:03 Duration: 2ms Database: postgres
14 41ms 30 0ms 3ms 1ms WITH last_candle AS ( ;Times Reported Time consuming prepare #14
Day Hour Count Duration Avg duration 13 30 41ms 1ms -
WITH last_candle AS ( ;
Date: 2026-01-15 13:32:00 Duration: 3ms Database: postgres
-
WITH last_candle AS ( ;
Date: 2026-01-15 13:52:00 Duration: 3ms Database: postgres
-
WITH last_candle AS ( ;
Date: 2026-01-15 13:04:00 Duration: 3ms Database: postgres
15 39ms 36 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 #15
Day Hour Count Duration Avg duration 13 36 39ms 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-15 13:01:35 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-15 13:11:15 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-15 13:26:17 Duration: 1ms Database: postgres
16 38ms 100 0ms 2ms 0ms WITH pre_symbols AS ( /* find relevant symbols */ ;Times Reported Time consuming prepare #16
Day Hour Count Duration Avg duration 13 100 38ms 0ms -
WITH pre_symbols AS ( /* find relevant symbols */ ;
Date: 2026-01-15 13:13:47 Duration: 2ms Database: postgres
-
WITH pre_symbols AS ( /* find relevant symbols */ ;
Date: 2026-01-15 13:13:47 Duration: 2ms Database: postgres
-
WITH pre_symbols AS ( /* find relevant symbols */ ;
Date: 2026-01-15 13:15:00 Duration: 0ms Database: postgres
17 30ms 36 0ms 1ms 0ms select feedname, to_char(latestrxtime, 'yyyy-mm-dd HH24:MI'), to_char(LatestDBWriteTime, 'yyyy-mm-dd HH24:MI'), to_char(LatestStartupTime, 'yyyy-mm-dd HH24:MI'), StartupTimeInMinutes, dm.source_type, dm.transport_type, case when latestrxtime < (CURRENT_TIMESTAMP - 5 * interval '1 minute') then 'X' else 'OK' end, case when (feedname ilike '%_EOD' OR feedname ilike 'IQFEED_DAILIES' or feedname ilike 'YAHOO%' or feedname ilike 'QUANDL_FUTURES%' or feedname ilike 'BAR_CHART') then case when LatestDBWriteTime < (CURRENT_TIMESTAMP - 24 * interval '1 hour') then 'X' else 'OK' end else case when (LatestDBWriteTime < (CURRENT_TIMESTAMP - 15 * interval '1 minute') and LatestStartupTime < (CURRENT_TIMESTAMP - 30 * interval '1 minute')) OR latestrxtime < CURRENT_TIMESTAMP - interval '2 hour' then 'X' else 'OK' end end as statusDB, comment from datafeeds_latestrun dlr left outer join datafeeds df on dlr.feedname ilike df.name inner join datafeeds_metadata dm on df.metadata_id = dm.id order by feedname;Times Reported Time consuming prepare #17
Day Hour Count Duration Avg duration 13 36 30ms 0ms -
select feedname, to_char(latestrxtime, 'yyyy-mm-dd HH24:MI'), to_char(LatestDBWriteTime, 'yyyy-mm-dd HH24:MI'), to_char(LatestStartupTime, 'yyyy-mm-dd HH24:MI'), StartupTimeInMinutes, dm.source_type, dm.transport_type, case when latestrxtime < (CURRENT_TIMESTAMP - 5 * interval '1 minute') then 'X' else 'OK' end, case when (feedname ilike '%_EOD' OR feedname ilike 'IQFEED_DAILIES' or feedname ilike 'YAHOO%' or feedname ilike 'QUANDL_FUTURES%' or feedname ilike 'BAR_CHART') then case when LatestDBWriteTime < (CURRENT_TIMESTAMP - 24 * interval '1 hour') then 'X' else 'OK' end else case when (LatestDBWriteTime < (CURRENT_TIMESTAMP - 15 * interval '1 minute') and LatestStartupTime < (CURRENT_TIMESTAMP - 30 * interval '1 minute')) OR latestrxtime < CURRENT_TIMESTAMP - interval '2 hour' then 'X' else 'OK' end end as statusDB, comment from datafeeds_latestrun dlr left outer join datafeeds df on dlr.feedname ilike df.name inner join datafeeds_metadata dm on df.metadata_id = dm.id order by feedname;
Date: 2026-01-15 13:01:14 Duration: 1ms Database: postgres
-
select feedname, to_char(latestrxtime, 'yyyy-mm-dd HH24:MI'), to_char(LatestDBWriteTime, 'yyyy-mm-dd HH24:MI'), to_char(LatestStartupTime, 'yyyy-mm-dd HH24:MI'), StartupTimeInMinutes, dm.source_type, dm.transport_type, case when latestrxtime < (CURRENT_TIMESTAMP - 5 * interval '1 minute') then 'X' else 'OK' end, case when (feedname ilike '%_EOD' OR feedname ilike 'IQFEED_DAILIES' or feedname ilike 'YAHOO%' or feedname ilike 'QUANDL_FUTURES%' or feedname ilike 'BAR_CHART') then case when LatestDBWriteTime < (CURRENT_TIMESTAMP - 24 * interval '1 hour') then 'X' else 'OK' end else case when (LatestDBWriteTime < (CURRENT_TIMESTAMP - 15 * interval '1 minute') and LatestStartupTime < (CURRENT_TIMESTAMP - 30 * interval '1 minute')) OR latestrxtime < CURRENT_TIMESTAMP - interval '2 hour' then 'X' else 'OK' end end as statusDB, comment from datafeeds_latestrun dlr left outer join datafeeds df on dlr.feedname ilike df.name inner join datafeeds_metadata dm on df.metadata_id = dm.id order by feedname;
Date: 2026-01-15 13:01:35 Duration: 1ms Database: postgres
-
select feedname, to_char(latestrxtime, 'yyyy-mm-dd HH24:MI'), to_char(LatestDBWriteTime, 'yyyy-mm-dd HH24:MI'), to_char(LatestStartupTime, 'yyyy-mm-dd HH24:MI'), StartupTimeInMinutes, dm.source_type, dm.transport_type, case when latestrxtime < (CURRENT_TIMESTAMP - 5 * interval '1 minute') then 'X' else 'OK' end, case when (feedname ilike '%_EOD' OR feedname ilike 'IQFEED_DAILIES' or feedname ilike 'YAHOO%' or feedname ilike 'QUANDL_FUTURES%' or feedname ilike 'BAR_CHART') then case when LatestDBWriteTime < (CURRENT_TIMESTAMP - 24 * interval '1 hour') then 'X' else 'OK' end else case when (LatestDBWriteTime < (CURRENT_TIMESTAMP - 15 * interval '1 minute') and LatestStartupTime < (CURRENT_TIMESTAMP - 30 * interval '1 minute')) OR latestrxtime < CURRENT_TIMESTAMP - interval '2 hour' then 'X' else 'OK' end end as statusDB, comment from datafeeds_latestrun dlr left outer join datafeeds df on dlr.feedname ilike df.name inner join datafeeds_metadata dm on df.metadata_id = dm.id order by feedname;
Date: 2026-01-15 13:31:18 Duration: 1ms Database: postgres
18 15ms 6 2ms 3ms 2ms 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 #18
Day Hour Count Duration Avg duration 13 6 15ms 2ms -
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-15 13:00: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-15 13:10: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-15 13:40:04 Duration: 2ms Database: postgres
19 14ms 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 13 24 14ms 0ms -
select count(*) from datafeed_restarter_events where is_current_entry = 1;
Date: 2026-01-15 13:20:02 Duration: 0ms Database: postgres
-
select count(*) from datafeed_restarter_events where is_current_entry = 1;
Date: 2026-01-15 13:10:03 Duration: 0ms Database: postgres
-
select count(*) from datafeed_restarter_events where is_current_entry = 1;
Date: 2026-01-15 13:00:03 Duration: 0ms Database: postgres
20 13ms 6 2ms 2ms 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 #20
Day Hour Count Duration Avg duration 13 6 13ms 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-15 13:50:02 Duration: 2ms 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-15 13:40:02 Duration: 2ms 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-15 13:00:02 Duration: 2ms Database: postgres
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 59s974ms 10,420 0ms 43ms 5ms WITH rar_max as ( ;Times Reported Time consuming bind #1
Day Hour Count Duration Avg duration Jan 15 13 10,420 59s974ms 5ms -
WITH rar_max as ( ;
Date: 2026-01-15 13:37:20 Duration: 43ms Database: postgres parameters: $1 = '607507561768845301', $2 = '607507561768845301', $3 = '607507561768845301'
-
WITH rar_max as ( ;
Date: 2026-01-15 13:00:57 Duration: 41ms Database: postgres parameters: $1 = '607487502414215301', $2 = '607487502414215301', $3 = '607487502414215301'
-
WITH rar_max as ( ;
Date: 2026-01-15 13:00:58 Duration: 41ms Database: postgres parameters: $1 = '607492956507397301', $2 = '607492956507397301', $3 = '607492956507397301'
2 38s109ms 68,719 0ms 34ms 0ms SELECT ;Times Reported Time consuming bind #2
Day Hour Count Duration Avg duration 13 68,719 38s109ms 0ms -
SELECT ;
Date: 2026-01-15 13:11:10 Duration: 34ms Database: postgres parameters: $1 = '958', $2 = '958', $3 = '515840217487607300'
-
SELECT ;
Date: 2026-01-15 13:30:03 Duration: 26ms Database: postgres parameters: $1 = '958', $2 = '958', $3 = '515840243153282300'
-
SELECT ;
Date: 2026-01-15 13:21:00 Duration: 23ms Database: postgres parameters: $1 = '958', $2 = '958', $3 = '515840248625276300'
3 3s232ms 1,399 1ms 9ms 2ms SELECT symbolid, ;Times Reported Time consuming bind #3
Day Hour Count Duration Avg duration 13 1,399 3s232ms 2ms -
SELECT symbolid, ;
Date: 2026-01-15 13:01:09 Duration: 9ms Database: postgres parameters: $1 = 'GLOBALGTMT5', $2 = '15', $3 = 'VIX'
-
SELECT symbolid, ;
Date: 2026-01-15 13:30:03 Duration: 7ms Database: postgres parameters: $1 = 'BDSWISS', $2 = '30', $3 = 'USOIL', $4 = 'XAUEUR', $5 = 'XPTUSD', $6 = 'XRPUSD', $7 = 'XAGUSD', $8 = 'XMRUSD', $9 = 'XAUUSD'
-
SELECT symbolid, ;
Date: 2026-01-15 13:03:01 Duration: 5ms Database: postgres parameters: $1 = 'MILLENNIUMPF', $2 = '15', $3 = 'USDCHF.ID'
4 1s499ms 68,636 0ms 10ms 0ms select 1;Times Reported Time consuming bind #4
Day Hour Count Duration Avg duration 13 68,635 1s499ms 0ms 14 1 0ms 0ms -
select 1;
Date: 2026-01-15 13:43:32 Duration: 10ms Database: postgres
-
select 1;
Date: 2026-01-15 13:16:30 Duration: 9ms Database: postgres
-
select 1;
Date: 2026-01-15 13:11:57 Duration: 8ms Database: postgres
5 1s17ms 608 1ms 10ms 1ms SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;Times Reported Time consuming bind #5
Day Hour Count Duration Avg duration 13 608 1s17ms 1ms -
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-15 13:00:57 Duration: 10ms Database: postgres parameters: $1 = 'GLOBALGTMT5'
-
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-15 13:00:04 Duration: 6ms Database: postgres parameters: $1 = 'FPMARKETS'
-
SELECT s.symbolid, dss.downloadfrequency, dss.downloadersymbol;
Date: 2026-01-15 13:46:08 Duration: 2ms Database: postgres parameters: $1 = 'FPMARKETS'
6 661ms 16 28ms 44ms 41ms with sym_info as ( ;Times Reported Time consuming bind #6
Day Hour Count Duration Avg duration 13 16 661ms 41ms -
with sym_info as ( ;
Date: 2026-01-15 13:21:57 Duration: 44ms 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-15 13:51:45 Duration: 44ms Database: postgres parameters: $1 = '620', $2 = 'Forex', $3 = 'Forex', $4 = '620', $5 = 'Forex', $6 = '620', $7 = '620', $8 = 'Forex', $9 = '620'
-
with sym_info as ( ;
Date: 2026-01-15 13:06:57 Duration: 44ms Database: postgres parameters: $1 = '692', $2 = 'Forex', $3 = 'Forex', $4 = '692', $5 = 'Forex', $6 = '692', $7 = '692', $8 = 'Forex', $9 = '692'
7 557ms 75 4ms 15ms 7ms WITH last_candle AS ( ;Times Reported Time consuming bind #7
Day Hour Count Duration Avg duration 13 75 557ms 7ms -
WITH last_candle AS ( ;
Date: 2026-01-15 13:00:02 Duration: 15ms Database: postgres parameters: $1 = '689', $2 = '689'
-
WITH last_candle AS ( ;
Date: 2026-01-15 13:32:00 Duration: 13ms Database: postgres parameters: $1 = '558', $2 = '558'
-
WITH last_candle AS ( ;
Date: 2026-01-15 13:52:00 Duration: 12ms Database: postgres parameters: $1 = '558', $2 = '558'
8 509ms 24 0ms 41ms 21ms with wh_patitioned as ( ;Times Reported Time consuming bind #8
Day Hour Count Duration Avg duration 13 24 509ms 21ms -
with wh_patitioned as ( ;
Date: 2026-01-15 13:43:08 Duration: 41ms 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-15 13:07:21 Duration: 41ms 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-15 13:30:41 Duration: 32ms Database: postgres parameters: $1 = '558', $2 = '558', $3 = '558', $4 = '558', $5 = '558', $6 = '558', $7 = '558', $8 = '558', $9 = '558'
9 461ms 1,180 0ms 1ms 0ms SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME, CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema' WHEN true THEN CASE WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TABLE' WHEN 'v' THEN 'SYSTEM VIEW' WHEN 'i' THEN 'SYSTEM INDEX' ELSE NULL END WHEN n.nspname = 'pg_toast' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TOAST TABLE' WHEN 'i' THEN 'SYSTEM TOAST INDEX' ELSE NULL END ELSE CASE c.relkind WHEN 'r' THEN 'TEMPORARY TABLE' WHEN 'p' THEN 'TEMPORARY TABLE' WHEN 'i' THEN 'TEMPORARY INDEX' WHEN 'S' THEN 'TEMPORARY SEQUENCE' WHEN 'v' THEN 'TEMPORARY VIEW' ELSE NULL END END WHEN false THEN CASE c.relkind WHEN 'r' THEN 'TABLE' WHEN 'p' THEN 'PARTITIONED TABLE' WHEN 'i' THEN 'INDEX' WHEN 'S' THEN 'SEQUENCE' WHEN 'v' THEN 'VIEW' WHEN 'c' THEN 'TYPE' WHEN 'f' THEN 'FOREIGN TABLE' WHEN 'm' THEN 'MATERIALIZED VIEW' ELSE NULL END ELSE NULL END AS TABLE_TYPE, d.description AS REMARKS, '' as TYPE_CAT, '' as TYPE_SCHEM, '' as TYPE_NAME, '' AS SELF_REFERENCING_COL_NAME, '' AS REF_GENERATION FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0) LEFT JOIN pg_catalog.pg_class dc ON (d.classoid = dc.oid AND dc.relname = 'pg_class') LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid = dc.relnamespace AND dn.nspname = 'pg_catalog') WHERE c.relnamespace = n.oid AND c.relname LIKE 'PROBABLYNOT' AND (false OR (c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema')) ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME;Times Reported Time consuming bind #9
Day Hour Count Duration Avg duration 13 1,180 461ms 0ms -
SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME, CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema' WHEN true THEN CASE WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TABLE' WHEN 'v' THEN 'SYSTEM VIEW' WHEN 'i' THEN 'SYSTEM INDEX' ELSE NULL END WHEN n.nspname = 'pg_toast' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TOAST TABLE' WHEN 'i' THEN 'SYSTEM TOAST INDEX' ELSE NULL END ELSE CASE c.relkind WHEN 'r' THEN 'TEMPORARY TABLE' WHEN 'p' THEN 'TEMPORARY TABLE' WHEN 'i' THEN 'TEMPORARY INDEX' WHEN 'S' THEN 'TEMPORARY SEQUENCE' WHEN 'v' THEN 'TEMPORARY VIEW' ELSE NULL END END WHEN false THEN CASE c.relkind WHEN 'r' THEN 'TABLE' WHEN 'p' THEN 'PARTITIONED TABLE' WHEN 'i' THEN 'INDEX' WHEN 'S' THEN 'SEQUENCE' WHEN 'v' THEN 'VIEW' WHEN 'c' THEN 'TYPE' WHEN 'f' THEN 'FOREIGN TABLE' WHEN 'm' THEN 'MATERIALIZED VIEW' ELSE NULL END ELSE NULL END AS TABLE_TYPE, d.description AS REMARKS, '' as TYPE_CAT, '' as TYPE_SCHEM, '' as TYPE_NAME, '' AS SELF_REFERENCING_COL_NAME, '' AS REF_GENERATION FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0) LEFT JOIN pg_catalog.pg_class dc ON (d.classoid = dc.oid AND dc.relname = 'pg_class') LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid = dc.relnamespace AND dn.nspname = 'pg_catalog') WHERE c.relnamespace = n.oid AND c.relname LIKE 'PROBABLYNOT' AND (false OR (c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema')) ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME;
Date: 2026-01-15 13:14:17 Duration: 1ms Database: postgres
-
SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME, CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema' WHEN true THEN CASE WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TABLE' WHEN 'v' THEN 'SYSTEM VIEW' WHEN 'i' THEN 'SYSTEM INDEX' ELSE NULL END WHEN n.nspname = 'pg_toast' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TOAST TABLE' WHEN 'i' THEN 'SYSTEM TOAST INDEX' ELSE NULL END ELSE CASE c.relkind WHEN 'r' THEN 'TEMPORARY TABLE' WHEN 'p' THEN 'TEMPORARY TABLE' WHEN 'i' THEN 'TEMPORARY INDEX' WHEN 'S' THEN 'TEMPORARY SEQUENCE' WHEN 'v' THEN 'TEMPORARY VIEW' ELSE NULL END END WHEN false THEN CASE c.relkind WHEN 'r' THEN 'TABLE' WHEN 'p' THEN 'PARTITIONED TABLE' WHEN 'i' THEN 'INDEX' WHEN 'S' THEN 'SEQUENCE' WHEN 'v' THEN 'VIEW' WHEN 'c' THEN 'TYPE' WHEN 'f' THEN 'FOREIGN TABLE' WHEN 'm' THEN 'MATERIALIZED VIEW' ELSE NULL END ELSE NULL END AS TABLE_TYPE, d.description AS REMARKS, '' as TYPE_CAT, '' as TYPE_SCHEM, '' as TYPE_NAME, '' AS SELF_REFERENCING_COL_NAME, '' AS REF_GENERATION FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0) LEFT JOIN pg_catalog.pg_class dc ON (d.classoid = dc.oid AND dc.relname = 'pg_class') LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid = dc.relnamespace AND dn.nspname = 'pg_catalog') WHERE c.relnamespace = n.oid AND c.relname LIKE 'PROBABLYNOT' AND (false OR (c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema')) ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME;
Date: 2026-01-15 13:13:47 Duration: 0ms Database: postgres
-
SELECT NULL AS TABLE_CAT, n.nspname AS TABLE_SCHEM, c.relname AS TABLE_NAME, CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema' WHEN true THEN CASE WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TABLE' WHEN 'v' THEN 'SYSTEM VIEW' WHEN 'i' THEN 'SYSTEM INDEX' ELSE NULL END WHEN n.nspname = 'pg_toast' THEN CASE c.relkind WHEN 'r' THEN 'SYSTEM TOAST TABLE' WHEN 'i' THEN 'SYSTEM TOAST INDEX' ELSE NULL END ELSE CASE c.relkind WHEN 'r' THEN 'TEMPORARY TABLE' WHEN 'p' THEN 'TEMPORARY TABLE' WHEN 'i' THEN 'TEMPORARY INDEX' WHEN 'S' THEN 'TEMPORARY SEQUENCE' WHEN 'v' THEN 'TEMPORARY VIEW' ELSE NULL END END WHEN false THEN CASE c.relkind WHEN 'r' THEN 'TABLE' WHEN 'p' THEN 'PARTITIONED TABLE' WHEN 'i' THEN 'INDEX' WHEN 'S' THEN 'SEQUENCE' WHEN 'v' THEN 'VIEW' WHEN 'c' THEN 'TYPE' WHEN 'f' THEN 'FOREIGN TABLE' WHEN 'm' THEN 'MATERIALIZED VIEW' ELSE NULL END ELSE NULL END AS TABLE_TYPE, d.description AS REMARKS, '' as TYPE_CAT, '' as TYPE_SCHEM, '' as TYPE_NAME, '' AS SELF_REFERENCING_COL_NAME, '' AS REF_GENERATION FROM pg_catalog.pg_namespace n, pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid AND d.objsubid = 0) LEFT JOIN pg_catalog.pg_class dc ON (d.classoid = dc.oid AND dc.relname = 'pg_class') LEFT JOIN pg_catalog.pg_namespace dn ON (dn.oid = dc.relnamespace AND dn.nspname = 'pg_catalog') WHERE c.relnamespace = n.oid AND c.relname LIKE 'PROBABLYNOT' AND (false OR (c.relkind = 'r' AND n.nspname !~ '^pg_' AND n.nspname <> 'information_schema')) ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME;
Date: 2026-01-15 13:15:01 Duration: 0ms Database: postgres
10 296ms 100 0ms 18ms 2ms WITH pre_symbols AS ( /* find relevant symbols */ ;Times Reported Time consuming bind #10
Day Hour Count Duration Avg duration 13 100 296ms 2ms -
WITH pre_symbols AS ( /* find relevant symbols */ ;
Date: 2026-01-15 13:15:00 Duration: 18ms Database: postgres parameters: $1 = '974', $2 = 'ICMARKETS-AU-MT5', $3 = 'AUDCAD', $4 = 'AUDCHF', $5 = 'AUDJPY', $6 = 'AUDNZD', $7 = 'AUDSGD', $8 = 'AUDUSD', $9 = 'AUS200', $10 = 'BRENT_F0', $11 = 'BRENT_F1', $12 = 'BRENT_F2', $13 = 'BRENT_F3', $14 = 'BRENT_F4', $15 = 'BRENT_F5', $16 = 'BRENT_F6', $17 = 'BRENT_F7', $18 = 'BRENT_F8', $19 = 'BRENT_F9', $20 = 'BRENT_G0', $21 = 'BRENT_G1', $22 = 'BRENT_G2', $23 = 'BRENT_G3', $24 = 'BRENT_G4', $25 = 'BRENT_G5', $26 = 'BRENT_G6', $27 = 'BRENT_G7', $28 = 'BRENT_G8', $29 = 'BRENT_G9', $30 = 'BRENT_H0', $31 = 'BRENT_H1', $32 = 'BRENT_H2', $33 = 'BRENT_H3', $34 = 'BRENT_H4', $35 = 'BRENT_H5', $36 = 'BRENT_H6', $37 = 'BRENT_H7', $38 = 'BRENT_H8', $39 = 'BRENT_H9', $40 = 'BRENT_J0', $41 = 'BRENT_J1', $42 = 'BRENT_J2', $43 = 'BRENT_J3', $44 = 'BRENT_J4', $45 = 'BRENT_J5', $46 = 'BRENT_J6', $47 = 'BRENT_J7', $48 = 'BRENT_J8', $49 = 'BRENT_J9', $50 = 'BRENT_K0', $51 = 'BRENT_K1', $52 = 'BRENT_K2', $53 = 'BRENT_K3', $54 = 'BRENT_K4', $55 = 'BRENT_K5', $56 = 'BRENT_K6', $57 = 'BRENT_K7', $58 = 'BRENT_K8', $59 = 'BRENT_K9', $60 = 'BRENT_M0', $61 = 'BRENT_M1', $62 = 'BRENT_M2', $63 = 'BRENT_M3', $64 = 'BRENT_M4', $65 = 'BRENT_M5', $66 = 'BRENT_M6', $67 = 'BRENT_M7', $68 = 'BRENT_M8', $69 = 'BRENT_M9', $70 = 'BRENT_N0', $71 = 'BRENT_N1', $72 = 'BRENT_N2', $73 = 'BRENT_N3', $74 = 'BRENT_N4', $75 = 'BRENT_N5', $76 = 'BRENT_N6', $77 = 'BRENT_N7', $78 = 'BRENT_N8', $79 = 'BRENT_N9', $80 = 'BRENT_Q0', $81 = 'BRENT_Q1', $82 = 'BRENT_Q2', $83 = 'BRENT_Q3', $84 = 'BRENT_Q4', $85 = 'BRENT_Q5', $86 = 'BRENT_Q6', $87 = 'BRENT_Q7', $88 = 'BRENT_Q8', $89 = 'BRENT_Q9', $90 = 'BRENT_U0', $91 = 'BRENT_U1', $92 = 'BRENT_U2', $93 = 'BRENT_U3', $94 = 'BRENT_U4', $95 = 'BRENT_U5', $96 = 'BRENT_U6', $97 = 'BRENT_U7', $98 = 'BRENT_U8', $99 = 'BRENT_U9', $100 = 'BRENT_V0', $101 = 'BRENT_V1', $102 = 'BRENT_V2', $103 = 'BRENT_V3', $104 = 'BRENT_V4', $105 = 'BRENT_V5', $106 = 'BRENT_V6', $107 = 'BRENT_V7', $108 = 'BRENT_V8', $109 = 'BRENT_V9', $110 = 'BRENT_X0', $111 = 'BRENT_X1', $112 = 'BRENT_X2', $113 = 'BRENT_X3', $114 = 'BRENT_X4', $115 = 'BRENT_X5', $116 = 'BRENT_X6', $117 = 'BRENT_X7', $118 = 'BRENT_X8', $119 = 'BRENT_X9', $120 = 'BRENT_Z0', $121 = 'BRENT_Z1', $122 = 'BRENT_Z2', $123 = 'BRENT_Z3', $124 = 'BRENT_Z4', $125 = 'BRENT_Z5', $126 = 'BRENT_Z6', $127 = 'BRENT_Z7', $128 = 'BRENT_Z8', $129 = 'BRENT_Z9', $130 = 'BTCUSD', $131 = 'CADCHF', $132 = 'CADJPY', $133 = 'CHFJPY', $134 = 'CHFSGD', $135 = 'CHINA50', $136 = 'Coffee_F0', $137 = 'Coffee_F1', $138 = 'Coffee_F2', $139 = 'Coffee_F3', $140 = 'Coffee_F4', $141 = 'Coffee_F5', $142 = 'Coffee_F6', $143 = 'Coffee_F7', $144 = 'Coffee_F8', $145 = 'Coffee_F9', $146 = 'Coffee_G0', $147 = 'Coffee_G1', $148 = 'Coffee_G2', $149 = 'Coffee_G3', $150 = 'Coffee_G4', $151 = 'Coffee_G5', $152 = 'Coffee_G6', $153 = 'Coffee_G7', $154 = 'Coffee_G8', $155 = 'Coffee_G9', $156 = 'Coffee_H0', $157 = 'Coffee_H1', $158 = 'Coffee_H2', $159 = 'Coffee_H3', $160 = 'Coffee_H4', $161 = 'Coffee_H5', $162 = 'Coffee_H6', $163 = 'Coffee_H7', $164 = 'Coffee_H8', $165 = 'Coffee_H9', $166 = 'Coffee_J0', $167 = 'Coffee_J1', $168 = 'Coffee_J2', $169 = 'Coffee_J3', $170 = 'Coffee_J4', $171 = 'Coffee_J5', $172 = 'Coffee_J6', $173 = 'Coffee_J7', $174 = 'Coffee_J8', $175 = 'Coffee_J9', $176 = 'Coffee_K0', $177 = 'Coffee_K1', $178 = 'Coffee_K2', $179 = 'Coffee_K3', $180 = 'Coffee_K4', $181 = 'Coffee_K5', $182 = 'Coffee_K6', $183 = 'Coffee_K7', $184 = 'Coffee_K8', $185 = 'Coffee_K9', $186 = 'Coffee_M0', $187 = 'Coffee_M1', $188 = 'Coffee_M2', $189 = 'Coffee_M3', $190 = 'Coffee_M4', $191 = 'Coffee_M5', $192 = 'Coffee_M6', $193 = 'Coffee_M7', $194 = 'Coffee_M8', $195 = 'Coffee_M9', $196 = 'Coffee_N0', $197 = 'Coffee_N1', $198 = 'Coffee_N2', $199 = 'Coffee_N3', $200 = 'Coffee_N4', $201 = 'Coffee_N5', $202 = 'Coffee_N6', $203 = 'Coffee_N7', $204 = 'Coffee_N8', $205 = 'Coffee_N9', $206 = 'Coffee_Q0', $207 = 'Coffee_Q1', $208 = 'Coffee_Q2', $209 = 'Coffee_Q3', $210 = 'Coffee_Q4', $211 = 'Coffee_Q5', $212 = 'Coffee_Q6', $213 = 'Coffee_Q7', $214 = 'Coffee_Q8', $215 = 'Coffee_Q9', $216 = 'Coffee_U0', $217 = 'Coffee_U1', $218 = 'Coffee_U2', $219 = 'Coffee_U3', $220 = 'Coffee_U4', $221 = 'Coffee_U5', $222 = 'Coffee_U6', $223 = 'Coffee_U7', $224 = 'Coffee_U8', $225 = 'Coffee_U9', $226 = 'Coffee_V0', $227 = 'Coffee_V1', $228 = 'Coffee_V2', $229 = 'Coffee_V3', $230 = 'Coffee_V4', $231 = 'Coffee_V5', $232 = 'Coffee_V6', $233 = 'Coffee_V7', $234 = 'Coffee_V8', $235 = 'Coffee_V9', $236 = 'Coffee_X0', $237 = 'Coffee_X1', $238 = 'Coffee_X2', $239 = 'Coffee_X3', $240 = 'Coffee_X4', $241 = 'Coffee_X5', $242 = 'Coffee_X6', $243 = 'Coffee_X7', $244 = 'Coffee_X8', $245 = 'Coffee_X9', $246 = 'Coffee_Z0', $247 = 'Coffee_Z1', $248 = 'Coffee_Z2', $249 = 'Coffee_Z3', $250 = 'Coffee_Z4', $251 = 'Coffee_Z5', $252 = 'Coffee_Z6', $253 = 'Coffee_Z7', $254 = 'Coffee_Z8', $255 = 'Coffee_Z9', $256 = 'Corn_F0', $257 = 'Corn_F1', $258 = 'Corn_F2', $259 = 'Corn_F3', $260 = 'Corn_F4', $261 = 'Corn_F5', $262 = 'Corn_F6', $263 = 'Corn_F7', $264 = 'Corn_F8', $265 = 'Corn_F9', $266 = 'Corn_G0', $267 = 'Corn_G1', $268 = 'Corn_G2', $269 = 'Corn_G3', $270 = 'Corn_G4', $271 = 'Corn_G5', $272 = 'Corn_G6', $273 = 'Corn_G7', $274 = 'Corn_G8', $275 = 'Corn_G9', $276 = 'Corn_H0', $277 = 'Corn_H1', $278 = 'Corn_H2', $279 = 'Corn_H3', $280 = 'Corn_H4', $281 = 'Corn_H5', $282 = 'Corn_H6', $283 = 'Corn_H7', $284 = 'Corn_H8', $285 = 'Corn_H9', $286 = 'Corn_J0', $287 = 'Corn_J1', $288 = 'Corn_J2', $289 = 'Corn_J3', $290 = 'Corn_J4', $291 = 'Corn_J5', $292 = 'Corn_J6', $293 = 'Corn_J7', $294 = 'Corn_J8', $295 = 'Corn_J9', $296 = 'Corn_K0', $297 = 'Corn_K1', $298 = 'Corn_K2', $299 = 'Corn_K3', $300 = 'Corn_K4', $301 = 'Corn_K5', $302 = 'Corn_K6', $303 = 'Corn_K7', $304 = 'Corn_K8', $305 = 'Corn_K9', $306 = 'Corn_M0', $307 = 'Corn_M1', $308 = 'Corn_M2', $309 = 'Corn_M3', $310 = 'Corn_M4', $311 = 'Corn_M5', $312 = 'Corn_M6', $313 = 'Corn_M7', $314 = 'Corn_M8', $315 = 'Corn_M9', $316 = 'Corn_N0', $317 = 'Corn_N1', $318 = 'Corn_N2', $319 = 'Corn_N3', $320 = 'Corn_N4', $321 = 'Corn_N5', $322 = 'Corn_N6', $323 = 'Corn_N7', $324 = 'Corn_N8', $325 = 'Corn_N9', $326 = 'Corn_Q0', $327 = 'Corn_Q1', $328 = 'Corn_Q2', $329 = 'Corn_Q3', $330 = 'Corn_Q4', $331 = 'Corn_Q5', $332 = 'Corn_Q6', $333 = 'Corn_Q7', $334 = 'Corn_Q8', $335 = 'Corn_Q9', $336 = 'Corn_U0', $337 = 'Corn_U1', $338 = 'Corn_U2', $339 = 'Corn_U3', $340 = 'Corn_U4', $341 = 'Corn_U5', $342 = 'Corn_U6', $343 = 'Corn_U7', $344 = 'Corn_U8', $345 = 'Corn_U9', $346 = 'Corn_V0', $347 = 'Corn_V1', $348 = 'Corn_V2', $349 = 'Corn_V3', $350 = 'Corn_V4', $351 = 'Corn_V5', $352 = 'Corn_V6', $353 = 'Corn_V7', $354 = 'Corn_V8', $355 = 'Corn_V9', $356 = 'Corn_X0', $357 = 'Corn_X1', $358 = 'Corn_X2', $359 = 'Corn_X3', $360 = 'Corn_X4', $361 = 'Corn_X5', $362 = 'Corn_X6', $363 = 'Corn_X7', $364 = 'Corn_X8', $365 = 'Corn_X9', $366 = 'Corn_Z0', $367 = 'Corn_Z1', $368 = 'Corn_Z2', $369 = 'Corn_Z3', $370 = 'Corn_Z4', $371 = 'Corn_Z5', $372 = 'Corn_Z6', $373 = 'Corn_Z7', $374 = 'Corn_Z8', $375 = 'Corn_Z9', $376 = 'DE30', $377 = 'ES35', $378 = 'EURAUD', $379 = 'EURCAD', $380 = 'EURCHF', $381 = 'EURDKK', $382 = 'EURGBP', $383 = 'EURHKD', $384 = 'EURJPY', $385 = 'EURNOK', $386 = 'EURNZD', $387 = 'EURPLN', $388 = 'EURSEK', $389 = 'EURSGD', $390 = 'EURTRY', $391 = 'EURUSD', $392 = 'EURZAR', $393 = 'F40', $394 = 'GBPAUD', $395 = 'GBPCAD', $396 = 'GBPCHF', $397 = 'GBPDKK', $398 = 'GBPJPY', $399 = 'GBPNOK', $400 = 'GBPNZD', $401 = 'GBPSEK', $402 = 'GBPSGD', $403 = 'GBPUSD', $404 = 'HK50', $405 = 'IT40', $406 = 'JP225', $407 = 'NOKJPY', $408 = 'NOKSEK', $409 = 'NZDCAD', $410 = 'NZDCHF', $411 = 'NZDJPY', $412 = 'NZDUSD', $413 = 'SEKJPY', $414 = 'SGDJPY', $415 = 'STOXX50', $416 = 'Soybean_F0', $417 = 'Soybean_F1', $418 = 'Soybean_F2', $419 = 'Soybean_F3', $420 = 'Soybean_F4', $421 = 'Soybean_F5', $422 = 'Soybean_F6', $423 = 'Soybean_F7', $424 = 'Soybean_F8', $425 = 'Soybean_F9', $426 = 'Soybean_G0', $427 = 'Soybean_G1', $428 = 'Soybean_G2', $429 = 'Soybean_G3', $430 = 'Soybean_G4', $431 = 'Soybean_G5', $432 = 'Soybean_G6', $433 = 'Soybean_G7', $434 = 'Soybean_G8', $435 = 'Soybean_G9', $436 = 'Soybean_H0', $437 = 'Soybean_H1', $438 = 'Soybean_H2', $439 = 'Soybean_H3', $440 = 'Soybean_H4', $441 = 'Soybean_H5', $442 = 'Soybean_H6', $443 = 'Soybean_H7', $444 = 'Soybean_H8', $445 = 'Soybean_H9', $446 = 'Soybean_J0', $447 = 'Soybean_J1', $448 = 'Soybean_J2', $449 = 'Soybean_J3', $450 = 'Soybean_J4', $451 = 'Soybean_J5', $452 = 'Soybean_J6', $453 = 'Soybean_J7', $454 = 'Soybean_J8', $455 = 'Soybean_J9', $456 = 'Soybean_K0', $457 = 'Soybean_K1', $458 = 'Soybean_K2', $459 = 'Soybean_K3', $460 = 'Soybean_K4', $461 = 'Soybean_K5', $462 = 'Soybean_K6', $463 = 'Soybean_K7', $464 = 'Soybean_K8', $465 = 'Soybean_K9', $466 = 'Soybean_M0', $467 = 'Soybean_M1', $468 = 'Soybean_M2', $469 = 'Soybean_M3', $470 = 'Soybean_M4', $471 = 'Soybean_M5', $472 = 'Soybean_M6', $473 = 'Soybean_M7', $474 = 'Soybean_M8', $475 = 'Soybean_M9', $476 = 'Soybean_N0', $477 = 'Soybean_N1', $478 = 'Soybean_N2', $479 = 'Soybean_N3', $480 = 'Soybean_N4', $481 = 'Soybean_N5', $482 = 'Soybean_N6', $483 = 'Soybean_N7', $484 = 'Soybean_N8', $485 = 'Soybean_N9', $486 = 'Soybean_Q0', $487 = 'Soybean_Q1', $488 = 'Soybean_Q2', $489 = 'Soybean_Q3', $490 = 'Soybean_Q4', $491 = 'Soybean_Q5', $492 = 'Soybean_Q6', $493 = 'Soybean_Q7', $494 = 'Soybean_Q8', $495 = 'Soybean_Q9', $496 = 'Soybean_U0', $497 = 'Soybean_U1', $498 = 'Soybean_U2', $499 = 'Soybean_U3', $500 = 'Soybean_U4', $501 = 'Soybean_U5', $502 = 'Soybean_U6', $503 = 'Soybean_U7', $504 = 'Soybean_U8', $505 = 'Soybean_U9', $506 = 'Soybean_V0', $507 = 'Soybean_V1', $508 = 'Soybean_V2', $509 = 'Soybean_V3', $510 = 'Soybean_V4', $511 = 'Soybean_V5', $512 = 'Soybean_V6', $513 = 'Soybean_V7', $514 = 'Soybean_V8', $515 = 'Soybean_V9', $516 = 'Soybean_X0', $517 = 'Soybean_X1', $518 = 'Soybean_X2', $519 = 'Soybean_X3', $520 = 'Soybean_X4', $521 = 'Soybean_X5', $522 = 'Soybean_X6', $523 = 'Soybean_X7', $524 = 'Soybean_X8', $525 = 'Soybean_X9', $526 = 'Soybean_Z0', $527 = 'Soybean_Z1', $528 = 'Soybean_Z2', $529 = 'Soybean_Z3', $530 = 'Soybean_Z4', $531 = 'Soybean_Z5', $532 = 'Soybean_Z6', $533 = 'Soybean_Z7', $534 = 'Soybean_Z8', $535 = 'Soybean_Z9', $536 = 'Sugar_F0', $537 = 'Sugar_F1', $538 = 'Sugar_F2', $539 = 'Sugar_F3', $540 = 'Sugar_F4', $541 = 'Sugar_F5', $542 = 'Sugar_F6', $543 = 'Sugar_F7', $544 = 'Sugar_F8', $545 = 'Sugar_F9', $546 = 'Sugar_G0', $547 = 'Sugar_G1', $548 = 'Sugar_G2', $549 = 'Sugar_G3', $550 = 'Sugar_G4', $551 = 'Sugar_G5', $552 = 'Sugar_G6', $553 = 'Sugar_G7', $554 = 'Sugar_G8', $555 = 'Sugar_G9', $556 = 'Sugar_H0', $557 = 'Sugar_H1', $558 = 'Sugar_H2', $559 = 'Sugar_H3', $560 = 'Sugar_H4', $561 = 'Sugar_H5', $562 = 'Sugar_H6', $563 = 'Sugar_H7', $564 = 'Sugar_H8', $565 = 'Sugar_H9', $566 = 'Sugar_J0', $567 = 'Sugar_J1', $568 = 'Sugar_J2', $569 = 'Sugar_J3', $570 = 'Sugar_J4', $571 = 'Sugar_J5', $572 = 'Sugar_J6', $573 = 'Sugar_J7', $574 = 'Sugar_J8', $575 = 'Sugar_J9', $576 = 'Sugar_K0', $577 = 'Sugar_K1', $578 = 'Sugar_K2', $579 = 'Sugar_K3', $580 = 'Sugar_K4', $581 = 'Sugar_K5', $582 = 'Sugar_K6', $583 = 'Sugar_K7', $584 = 'Sugar_K8', $585 = 'Sugar_K9', $586 = 'Sugar_M0', $587 = 'Sugar_M1', $588 = 'Sugar_M2', $589 = 'Sugar_M3', $590 = 'Sugar_M4', $591 = 'Sugar_M5', $592 = 'Sugar_M6', $593 = 'Sugar_M7', $594 = 'Sugar_M8', $595 = 'Sugar_M9', $596 = 'Sugar_N0', $597 = 'Sugar_N1', $598 = 'Sugar_N2', $599 = 'Sugar_N3', $600 = 'Sugar_N4', $601 = 'Sugar_N5', $602 = 'Sugar_N6', $603 = 'Sugar_N7', $604 = 'Sugar_N8', $605 = 'Sugar_N9', $606 = 'Sugar_Q0', $607 = 'Sugar_Q1', $608 = 'Sugar_Q2', $609 = 'Sugar_Q3', $610 = 'Sugar_Q4', $611 = 'Sugar_Q5', $612 = 'Sugar_Q6', $613 = 'Sugar_Q7', $614 = 'Sugar_Q8', $615 = 'Sugar_Q9', $616 = 'Sugar_U0', $617 = 'Sugar_U1', $618 = 'Sugar_U2', $619 = 'Sugar_U3', $620 = 'Sugar_U4', $621 = 'Sugar_U5', $622 = 'Sugar_U6', $623 = 'Sugar_U7', $624 = 'Sugar_U8', $625 = 'Sugar_U9', $626 = 'Sugar_V0', $627 = 'Sugar_V1', $628 = 'Sugar_V2', $629 = 'Sugar_V3', $630 = 'Sugar_V4', $631 = 'Sugar_V5', $632 = 'Sugar_V6', $633 = 'Sugar_V7', $634 = 'Sugar_V8', $635 = 'Sugar_V9', $636 = 'Sugar_X0', $637 = 'Sugar_X1', $638 = 'Sugar_X2', $639 = 'Sugar_X3', $640 = 'Sugar_X4', $641 = 'Sugar_X5', $642 = 'Sugar_X6', $643 = 'Sugar_X7', $644 = 'Sugar_X8', $645 = 'Sugar_X9', $646 = 'Sugar_Z0', $647 = 'Sugar_Z1', $648 = 'Sugar_Z2', $649 = 'Sugar_Z3', $650 = 'Sugar_Z4', $651 = 'Sugar_Z5', $652 = 'Sugar_Z6', $653 = 'Sugar_Z7', $654 = 'Sugar_Z8', $655 = 'Sugar_Z9', $656 = 'UK100', $657 = 'US2000', $658 = 'US30', $659 = 'US500', $660 = 'USDCAD', $661 = 'USDCHF', $662 = 'USDCNH', $663 = 'USDCZK', $664 = 'USDDKK', $665 = 'USDHKD', $666 = 'USDHUF', $667 = 'USDJPY', $668 = 'USDMXN', $669 = 'USDNOK', $670 = 'USDPLN', $671 = 'USDRUB', $672 = 'USDSEK', $673 = 'USDSGD', $674 = 'USDTHB', $675 = 'USDTRY', $676 = 'USDZAR', $677 = 'USTEC', $678 = 'WTI_F0', $679 = 'WTI_F1', $680 = 'WTI_F2', $681 = 'WTI_F3', $682 = 'WTI_F4', $683 = 'WTI_F5', $684 = 'WTI_F6', $685 = 'WTI_F7', $686 = 'WTI_F8', $687 = 'WTI_F9', $688 = 'WTI_G0', $689 = 'WTI_G1', $690 = 'WTI_G2', $691 = 'WTI_G3', $692 = 'WTI_G4', $693 = 'WTI_G5', $694 = 'WTI_G6', $695 = 'WTI_G7', $696 = 'WTI_G8', $697 = 'WTI_G9', $698 = 'WTI_H0', $699 = 'WTI_H1', $700 = 'WTI_H2', $701 = 'WTI_H3', $702 = 'WTI_H4', $703 = 'WTI_H5', $704 = 'WTI_H6', $705 = 'WTI_H7', $706 = 'WTI_H8', $707 = 'WTI_H9', $708 = 'WTI_J0', $709 = 'WTI_J1', $710 = 'WTI_J2', $711 = 'WTI_J3', $712 = 'WTI_J4', $713 = 'WTI_J5', $714 = 'WTI_J6', $715 = 'WTI_J7', $716 = 'WTI_J8', $717 = 'WTI_J9', $718 = 'WTI_K0', $719 = 'WTI_K1', $720 = 'WTI_K2', $721 = 'WTI_K3', $722 = 'WTI_K4', $723 = 'WTI_K5', $724 = 'WTI_K6', $725 = 'WTI_K7', $726 = 'WTI_K8', $727 = 'WTI_K9', $728 = 'WTI_M0', $729 = 'WTI_M1', $730 = 'WTI_M2', $731 = 'WTI_M3', $732 = 'WTI_M4', $733 = 'WTI_M5', $734 = 'WTI_M6', $735 = 'WTI_M7', $736 = 'WTI_M8', $737 = 'WTI_M9', $738 = 'WTI_N0', $739 = 'WTI_N1', $740 = 'WTI_N2', $741 = 'WTI_N3', $742 = 'WTI_N4', $743 = 'WTI_N5', $744 = 'WTI_N6', $745 = 'WTI_N7', $746 = 'WTI_N8', $747 = 'WTI_N9', $748 = 'WTI_Q0', $749 = 'WTI_Q1', $750 = 'WTI_Q2', $751 = 'WTI_Q3', $752 = 'WTI_Q4', $753 = 'WTI_Q5', $754 = 'WTI_Q6', $755 = 'WTI_Q7', $756 = 'WTI_Q8', $757 = 'WTI_Q9', $758 = 'WTI_U0', $759 = 'WTI_U1', $760 = 'WTI_U2', $761 = 'WTI_U3', $762 = 'WTI_U4', $763 = 'WTI_U5', $764 = 'WTI_U6', $765 = 'WTI_U7', $766 = 'WTI_U8', $767 = 'WTI_U9', $768 = 'WTI_V0', $769 = 'WTI_V1', $770 = 'WTI_V2', $771 = 'WTI_V3', $772 = 'WTI_V4', $773 = 'WTI_V5', $774 = 'WTI_V6', $775 = 'WTI_V7', $776 = 'WTI_V8', $777 = 'WTI_V9', $778 = 'WTI_X0', $779 = 'WTI_X1', $780 = 'WTI_X2', $781 = 'WTI_X3', $782 = 'WTI_X4', $783 = 'WTI_X5', $784 = 'WTI_X6', $785 = 'WTI_X7', $786 = 'WTI_X8', $787 = 'WTI_X9', $788 = 'WTI_Z0', $789 = 'WTI_Z1', $790 = 'WTI_Z2', $791 = 'WTI_Z3', $792 = 'WTI_Z4', $793 = 'WTI_Z5', $794 = 'WTI_Z6', $795 = 'WTI_Z7', $796 = 'WTI_Z8', $797 = 'WTI_Z9', $798 = 'Wheat_F0', $799 = 'Wheat_F1', $800 = 'Wheat_F2', $801 = 'Wheat_F3', $802 = 'Wheat_F4', $803 = 'Wheat_F5', $804 = 'Wheat_F6', $805 = 'Wheat_F7', $806 = 'Wheat_F8', $807 = 'Wheat_F9', $808 = 'Wheat_G0', $809 = 'Wheat_G1', $810 = 'Wheat_G2', $811 = 'Wheat_G3', $812 = 'Wheat_G4', $813 = 'Wheat_G5', $814 = 'Wheat_G6', $815 = 'Wheat_G7', $816 = 'Wheat_G8', $817 = 'Wheat_G9', $818 = 'Wheat_H0', $819 = 'Wheat_H1', $820 = 'Wheat_H2', $821 = 'Wheat_H3', $822 = 'Wheat_H4', $823 = 'Wheat_H5', $824 = 'Wheat_H6', $825 = 'Wheat_H7', $826 = 'Wheat_H8', $827 = 'Wheat_H9', $828 = 'Wheat_J0', $829 = 'Wheat_J1', $830 = 'Wheat_J2', $831 = 'Wheat_J3', $832 = 'Wheat_J4', $833 = 'Wheat_J5', $834 = 'Wheat_J6', $835 = 'Wheat_J7', $836 = 'Wheat_J8', $837 = 'Wheat_J9', $838 = 'Wheat_K0', $839 = 'Wheat_K1', $840 = 'Wheat_K2', $841 = 'Wheat_K3', $842 = 'Wheat_K4', $843 = 'Wheat_K5', $844 = 'Wheat_K6', $845 = 'Wheat_K7', $846 = 'Wheat_K8', $847 = 'Wheat_K9', $848 = 'Wheat_M0', $849 = 'Wheat_M1', $850 = 'Wheat_M2', $851 = 'Wheat_M3', $852 = 'Wheat_M4', $853 = 'Wheat_M5', $854 = 'Wheat_M6', $855 = 'Wheat_M7', $856 = 'Wheat_M8', $857 = 'Wheat_M9', $858 = 'Wheat_N0', $859 = 'Wheat_N1', $860 = 'Wheat_N2', $861 = 'Wheat_N3', $862 = 'Wheat_N4', $863 = 'Wheat_N5', $864 = 'Wheat_N6', $865 = 'Wheat_N7', $866 = 'Wheat_N8', $867 = 'Wheat_N9', $868 = 'Wheat_Q0', $869 = 'Wheat_Q1', $870 = 'Wheat_Q2', $871 = 'Wheat_Q3', $872 = 'Wheat_Q4', $873 = 'Wheat_Q5', $874 = 'Wheat_Q6', $875 = 'Wheat_Q7', $876 = 'Wheat_Q8', $877 = 'Wheat_Q9', $878 = 'Wheat_U0', $879 = 'Wheat_U1', $880 = 'Wheat_U2', $881 = 'Wheat_U3', $882 = 'Wheat_U4', $883 = 'Wheat_U5', $884 = 'Wheat_U6', $885 = 'Wheat_U7', $886 = 'Wheat_U8', $887 = 'Wheat_U9', $888 = 'Wheat_V0', $889 = 'Wheat_V1', $890 = 'Wheat_V2', $891 = 'Wheat_V3', $892 = 'Wheat_V4', $893 = 'Wheat_V5', $894 = 'Wheat_V6', $895 = 'Wheat_V7', $896 = 'Wheat_V8', $897 = 'Wheat_V9', $898 = 'Wheat_X0', $899 = 'Wheat_X1', $900 = 'Wheat_X2', $901 = 'Wheat_X3', $902 = 'Wheat_X4', $903 = 'Wheat_X5', $904 = 'Wheat_X6', $905 = 'Wheat_X7', $906 = 'Wheat_X8', $907 = 'Wheat_X9', $908 = 'Wheat_Z0', $909 = 'Wheat_Z1', $910 = 'Wheat_Z2', $911 = 'Wheat_Z3', $912 = 'Wheat_Z4', $913 = 'Wheat_Z5', $914 = 'Wheat_Z6', $915 = 'Wheat_Z7', $916 = 'Wheat_Z8', $917 = 'Wheat_Z9', $918 = 'XAGEUR', $919 = 'XAGUSD', $920 = 'XAUEUR', $921 = 'XAUUSD', $922 = 'XBRUSD', $923 = 'XNGUSD', $924 = 'XPDUSD', $925 = 'XPTUSD', $926 = 'XTIUSD', $927 = 'AUDCAD', $928 = 'AUDCHF', $929 = 'AUDJPY', $930 = 'AUDNZD', $931 = 'AUDSGD', $932 = 'AUDUSD', $933 = 'AUS200', $934 = 'BRENT_F0', $935 = 'BRENT_F1', $936 = 'BRENT_F2', $937 = 'BRENT_F3', $938 = 'BRENT_F4', $939 = 'BRENT_F5', $940 = 'BRENT_F6', $941 = 'BRENT_F7', $942 = 'BRENT_F8', $943 = 'BRENT_F9', $944 = 'BRENT_G0', $945 = 'BRENT_G1', $946 = 'BRENT_G2', $947 = 'BRENT_G3', $948 = 'BRENT_G4', $949 = 'BRENT_G5', $950 = 'BRENT_G6', $951 = 'BRENT_G7', $952 = 'BRENT_G8', $953 = 'BRENT_G9', $954 = 'BRENT_H0', $955 = 'BRENT_H1', $956 = 'BRENT_H2', $957 = 'BRENT_H3', $958 = 'BRENT_H4', $959 = 'BRENT_H5', $960 = 'BRENT_H6', $961 = 'BRENT_H7', $962 = 'BRENT_H8', $963 = 'BRENT_H9', $964 = 'BRENT_J0', $965 = 'BRENT_J1', $966 = 'BRENT_J2', $967 = 'BRENT_J3', $968 = 'BRENT_J4', $969 = 'BRENT_J5', $970 = 'BRENT_J6', $971 = 'BRENT_J7', $972 = 'BRENT_J8', $973 = 'BRENT_J9', $974 = 'BRENT_K0', $975 = 'BRENT_K1', $976 = 'BRENT_K2', $977 = 'BRENT_K3', $978 = 'BRENT_K4', $979 = 'BRENT_K5', $980 = 'BRENT_K6', $981 = 'BRENT_K7', $982 = 'BRENT_K8', $983 = 'BRENT_K9', $984 = 'BRENT_M0', $985 = 'BRENT_M1', $986 = 'BRENT_M2', $987 = 'BRENT_M3', $988 = 'BRENT_M4', $989 = 'BRENT_M5', $990 = 'BRENT_M6', $991 = 'BRENT_M7', $992 = 'BRENT_M8', $993 = 'BRENT_M9', $994 = 'BRENT_N0', $995 = 'BRENT_N1', $996 = 'BRENT_N2', $997 = 'BRENT_N3', $998 = 'BRENT_N4', $999 = 'BRENT_N5', $1000 = 'BRENT_N6', $1001 = 'BRENT_N7', $1002 = 'BRENT_N8', $1003 = 'BRENT_N9', $1004 = 'BRENT_Q0', $1005 = 'BRENT_Q1', $1006 = 'BRENT_Q2', $1007 = 'BRENT_Q3', $1008 = 'BRENT_Q4', $1009 = 'BRENT_Q5', $1010 = 'BRENT_Q6', $1011 = 'BRENT_Q7', $1012 = 'BRENT_Q8', $1013 = 'BRENT_Q9', $1014 = 'BRENT_U0', $1015 = 'BRENT_U1', $1016 = 'BRENT_U2', $1017 = 'BRENT_U3', $1018 = 'BRENT_U4', $1019 = 'BRENT_U5', $1020 = 'BRENT_U6', $1021 = 'BRENT_U7', $1022 = 'BRENT_U8', $1023 = 'BRENT_U9', $1024 = 'BRENT_V0', $1025 = 'BRENT_V1', $1026 = 'BRENT_V2', $1027 = 'BRENT_V3', $1028 = 'BRENT_V4', $1029 = 'BRENT_V5', $1030 = 'BRENT_V6', $1031 = 'BRENT_V7', $1032 = 'BRENT_V8', $1033 = 'BRENT_V9', $1034 = 'BRENT_X0', $1035 = 'BRENT_X1', $1036 = 'BRENT_X2', $1037 = 'BRENT_X3', $1038 = 'BRENT_X4', $1039 = 'BRENT_X5', $1040 = 'BRENT_X6', $1041 = 'BRENT_X7', $1042 = 'BRENT_X8', $1043 = 'BRENT_X9', $1044 = 'BRENT_Z0', $1045 = 'BRENT_Z1', $1046 = 'BRENT_Z2', $1047 = 'BRENT_Z3', $1048 = 'BRENT_Z4', $1049 = 'BRENT_Z5', $1050 = 'BRENT_Z6', $1051 = 'BRENT_Z7', $1052 = 'BRENT_Z8', $1053 = 'BRENT_Z9', $1054 = 'BTCUSD', $1055 = 'CADCHF', $1056 = 'CADJPY', $1057 = 'CHFJPY', $1058 = 'CHFSGD', $1059 = 'CHINA50', $1060 = 'Coffee_F0', $1061 = 'Coffee_F1', $1062 = 'Coffee_F2', $1063 = 'Coffee_F3', $1064 = 'Coffee_F4', $1065 = 'Coffee_F5', $1066 = 'Coffee_F6', $1067 = 'Coffee_F7', $1068 = 'Coffee_F8', $1069 = 'Coffee_F9', $1070 = 'Coffee_G0', $1071 = 'Coffee_G1', $1072 = 'Coffee_G2', $1073 = 'Coffee_G3', $1074 = 'Coffee_G4', $1075 = 'Coffee_G5', $1076 = 'Coffee_G6', $1077 = 'Coffee_G7', $1078 = 'Coffee_G8', $1079 = 'Coffee_G9', $1080 = 'Coffee_H0', $1081 = 'Coffee_H1', $1082 = 'Coffee_H2', $1083 = 'Coffee_H3', $1084 = 'Coffee_H4', $1085 = 'Coffee_H5', $1086 = 'Coffee_H6', $1087 = 'Coffee_H7', $1088 = 'Coffee_H8', $1089 = 'Coffee_H9', $1090 = 'Coffee_J0', $1091 = 'Coffee_J1', $1092 = 'Coffee_J2', $1093 = 'Coffee_J3', $1094 = 'Coffee_J4', $1095 = 'Coffee_J5', $1096 = 'Coffee_J6', $1097 = 'Coffee_J7', $1098 = 'Coffee_J8', $1099 = 'Coffee_J9', $1100 = 'Coffee_K0', $1101 = 'Coffee_K1', $1102 = 'Coffee_K2', $1103 = 'Coffee_K3', $1104 = 'Coffee_K4', $1105 = 'Coffee_K5', $1106 = 'Coffee_K6', $1107 = 'Coffee_K7', $1108 = 'Coffee_K8', $1109 = 'Coffee_K9', $1110 = 'Coffee_M0', $1111 = 'Coffee_M1', $1112 = 'Coffee_M2', $1113 = 'Coffee_M3', $1114 = 'Coffee_M4', $1115 = 'Coffee_M5', $1116 = 'Coffee_M6', $1117 = 'Coffee_M7', $1118 = 'Coffee_M8', $1119 = 'Coffee_M9', $1120 = 'Coffee_N0', $1121 = 'Coffee_N1', $1122 = 'Coffee_N2', $1123 = 'Coffee_N3', $1124 = 'Coffee_N4', $1125 = 'Coffee_N5', $1126 = 'Coffee_N6', $1127 = 'Coffee_N7', $1128 = 'Coffee_N8', $1129 = 'Coffee_N9', $1130 = 'Coffee_Q0', $1131 = 'Coffee_Q1', $1132 = 'Coffee_Q2', $1133 = 'Coffee_Q3', $1134 = 'Coffee_Q4', $1135 = 'Coffee_Q5', $1136 = 'Coffee_Q6', $1137 = 'Coffee_Q7', $1138 = 'Coffee_Q8', $1139 = 'Coffee_Q9', $1140 = 'Coffee_U0', $1141 = 'Coffee_U1', $1142 = 'Coffee_U2', $1143 = 'Coffee_U3', $1144 = 'Coffee_U4', $1145 = 'Coffee_U5', $1146 = 'Coffee_U6', $1147 = 'Coffee_U7', $1148 = 'Coffee_U8', $1149 = 'Coffee_U9', $1150 = 'Coffee_V0', $1151 = 'Coffee_V1', $1152 = 'Coffee_V2', $1153 = 'Coffee_V3', $1154 = 'Coffee_V4', $1155 = 'Coffee_V5', $1156 = 'Coffee_V6', $1157 = 'Coffee_V7', $1158 = 'Coffee_V8', $1159 = 'Coffee_V9', $1160 = 'Coffee_X0', $1161 = 'Coffee_X1', $1162 = 'Coffee_X2', $1163 = 'Coffee_X3', $1164 = 'Coffee_X4', $1165 = 'Coffee_X5', $1166 = 'Coffee_X6', $1167 = 'Coffee_X7', $1168 = 'Coffee_X8', $1169 = 'Coffee_X9', $1170 = 'Coffee_Z0', $1171 = 'Coffee_Z1', $1172 = 'Coffee_Z2', $1173 = 'Coffee_Z3', $1174 = 'Coffee_Z4', $1175 = 'Coffee_Z5', $1176 = 'Coffee_Z6', $1177 = 'Coffee_Z7', $1178 = 'Coffee_Z8', $1179 = 'Coffee_Z9', $1180 = 'Corn_F0', $1181 = 'Corn_F1', $1182 = 'Corn_F2', $1183 = 'Corn_F3', $1184 = 'Corn_F4', $1185 = 'Corn_F5', $1186 = 'Corn_F6', $1187 = 'Corn_F7', $1188 = 'Corn_F8', $1189 = 'Corn_F9', $1190 = 'Corn_G0', $1191 = 'Corn_G1', $1192 = 'Corn_G2', $1193 = 'Corn_G3', $1194 = 'Corn_G4', $1195 = 'Corn_G5', $1196 = 'Corn_G6', $1197 = 'Corn_G7', $1198 = 'Corn_G8', $1199 = 'Corn_G9', $1200 = 'Corn_H0', $1201 = 'Corn_H1', $1202 = 'Corn_H2', $1203 = 'Corn_H3', $1204 = 'Corn_H4', $1205 = 'Corn_H5', $1206 = 'Corn_H6', $1207 = 'Corn_H7', $1208 = 'Corn_H8', $1209 = 'Corn_H9', $1210 = 'Corn_J0', $1211 = 'Corn_J1', $1212 = 'Corn_J2', $1213 = 'Corn_J3', $1214 = 'Corn_J4', $1215 = 'Corn_J5', $1216 = 'Corn_J6', $1217 = 'Corn_J7', $1218 = 'Corn_J8', $1219 = 'Corn_J9', $1220 = 'Corn_K0', $1221 = 'Corn_K1', $1222 = 'Corn_K2', $1223 = 'Corn_K3', $1224 = 'Corn_K4', $1225 = 'Corn_K5', $1226 = 'Corn_K6', $1227 = 'Corn_K7', $1228 = 'Corn_K8', $1229 = 'Corn_K9', $1230 = 'Corn_M0', $1231 = 'Corn_M1', $1232 = 'Corn_M2', $1233 = 'Corn_M3', $1234 = 'Corn_M4', $1235 = 'Corn_M5', $1236 = 'Corn_M6', $1237 = 'Corn_M7', $1238 = 'Corn_M8', $1239 = 'Corn_M9', $1240 = 'Corn_N0', $1241 = 'Corn_N1', $1242 = 'Corn_N2', $1243 = 'Corn_N3', $1244 = 'Corn_N4', $1245 = 'Corn_N5', $1246 = 'Corn_N6', $1247 = 'Corn_N7', $1248 = 'Corn_N8', $1249 = 'Corn_N9', $1250 = 'Corn_Q0', $1251 = 'Corn_Q1', $1252 = 'Corn_Q2', $1253 = 'Corn_Q3', $1254 = 'Corn_Q4', $1255 = 'Corn_Q5', $1256 = 'Corn_Q6', $1257 = 'Corn_Q7', $1258 = 'Corn_Q8', $1259 = 'Corn_Q9', $1260 = 'Corn_U0', $1261 = 'Corn_U1', $1262 = 'Corn_U2', $1263 = 'Corn_U3', $1264 = 'Corn_U4', $1265 = 'Corn_U5', $1266 = 'Corn_U6', $1267 = 'Corn_U7', $1268 = 'Corn_U8', $1269 = 'Corn_U9', $1270 = 'Corn_V0', $1271 = 'Corn_V1', $1272 = 'Corn_V2', $1273 = 'Corn_V3', $1274 = 'Corn_V4', $1275 = 'Corn_V5', $1276 = 'Corn_V6', $1277 = 'Corn_V7', $1278 = 'Corn_V8', $1279 = 'Corn_V9', $1280 = 'Corn_X0', $1281 = 'Corn_X1', $1282 = 'Corn_X2', $1283 = 'Corn_X3', $1284 = 'Corn_X4', $1285 = 'Corn_X5', $1286 = 'Corn_X6', $1287 = 'Corn_X7', $1288 = 'Corn_X8', $1289 = 'Corn_X9', $1290 = 'Corn_Z0', $1291 = 'Corn_Z1', $1292 = 'Corn_Z2', $1293 = 'Corn_Z3', $1294 = 'Corn_Z4', $1295 = 'Corn_Z5', $1296 = 'Corn_Z6', $1297 = 'Corn_Z7', $1298 = 'Corn_Z8', $1299 = 'Corn_Z9', $1300 = 'DE30', $1301 = 'ES35', $1302 = 'EURAUD', $1303 = 'EURCAD', $1304 = 'EURCHF', $1305 = 'EURDKK', $1306 = 'EURGBP', $1307 = 'EURHKD', $1308 = 'EURJPY', $1309 = 'EURNOK', $1310 = 'EURNZD', $1311 = 'EURPLN', $1312 = 'EURSEK', $1313 = 'EURSGD', $1314 = 'EURTRY', $1315 = 'EURUSD', $1316 = 'EURZAR', $1317 = 'F40', $1318 = 'GBPAUD', $1319 = 'GBPCAD', $1320 = 'GBPCHF', $1321 = 'GBPDKK', $1322 = 'GBPJPY', $1323 = 'GBPNOK', $1324 = 'GBPNZD', $1325 = 'GBPSEK', $1326 = 'GBPSGD', $1327 = 'GBPUSD', $1328 = 'HK50', $1329 = 'IT40', $1330 = 'JP225', $1331 = 'NOKJPY', $1332 = 'NOKSEK', $1333 = 'NZDCAD', $1334 = 'NZDCHF', $1335 = 'NZDJPY', $1336 = 'NZDUSD', $1337 = 'SEKJPY', $1338 = 'SGDJPY', $1339 = 'STOXX50', $1340 = 'Soybean_F0', $1341 = 'Soybean_F1', $1342 = 'Soybean_F2', $1343 = 'Soybean_F3', $1344 = 'Soybean_F4', $1345 = 'Soybean_F5', $1346 = 'Soybean_F6', $1347 = 'Soybean_F7', $1348 = 'Soybean_F8', $1349 = 'Soybean_F9', $1350 = 'Soybean_G0', $1351 = 'Soybean_G1', $1352 = 'Soybean_G2', $1353 = 'Soybean_G3', $1354 = 'Soybean_G4', $1355 = 'Soybean_G5', $1356 = 'Soybean_G6', $1357 = 'Soybean_G7', $1358 = 'Soybean_G8', $1359 = 'Soybean_G9', $1360 = 'Soybean_H0', $1361 = 'Soybean_H1', $1362 = 'Soybean_H2', $1363 = 'Soybean_H3', $1364 = 'Soybean_H4', $1365 = 'Soybean_H5', $1366 = 'Soybean_H6', $1367 = 'Soybean_H7', $1368 = 'Soybean_H8', $1369 = 'Soybean_H9', $1370 = 'Soybean_J0', $1371 = 'Soybean_J1', $1372 = 'Soybean_J2', $1373 = 'Soybean_J3', $1374 = 'Soybean_J4', $1375 = 'Soybean_J5', $1376 = 'Soybean_J6', $1377 = 'Soybean_J7', $1378 = 'Soybean_J8', $1379 = 'Soybean_J9', $1380 = 'Soybean_K0', $1381 = 'Soybean_K1', $1382 = 'Soybean_K2', $1383 = 'Soybean_K3', $1384 = 'Soybean_K4', $1385 = 'Soybean_K5', $1386 = 'Soybean_K6', $1387 = 'Soybean_K7', $1388 = 'Soybean_K8', $1389 = 'Soybean_K9', $1390 = 'Soybean_M0', $1391 = 'Soybean_M1', $1392 = 'Soybean_M2', $1393 = 'Soybean_M3', $1394 = 'Soybean_M4', $1395 = 'Soybean_M5', $1396 = 'Soybean_M6', $1397 = 'Soybean_M7', $1398 = 'Soybean_M8', $1399 = 'Soybean_M9', $1400 = 'Soybean_N0', $1401 = 'Soybean_N1', $1402 = 'Soybean_N2', $1403 = 'Soybean_N3', $1404 = 'Soybean_N4', $1405 = 'Soybean_N5', $1406 = 'Soybean_N6', $1407 = 'Soybean_N7', $1408 = 'Soybean_N8', $1409 = 'Soybean_N9', $1410 = 'Soybean_Q0', $1411 = 'Soybean_Q1', $1412 = 'Soybean_Q2', $1413 = 'Soybean_Q3', $1414 = 'Soybean_Q4', $1415 = 'Soybean_Q5', $1416 = 'Soybean_Q6', $1417 = 'Soybean_Q7', $1418 = 'Soybean_Q8', $1419 = 'Soybean_Q9', $1420 = 'Soybean_U0', $1421 = 'Soybean_U1', $1422 = 'Soybean_U2', $1423 = 'Soybean_U3', $1424 = 'Soybean_U4', $1425 = 'Soybean_U5', $1426 = 'Soybean_U6', $1427 = 'Soybean_U7', $1428 = 'Soybean_U8', $1429 = 'Soybean_U9', $1430 = 'Soybean_V0', $1431 = 'Soybean_V1', $1432 = 'Soybean_V2', $1433 = 'Soybean_V3', $1434 = 'Soybean_V4', $1435 = 'Soybean_V5', $1436 = 'Soybean_V6', $1437 = 'Soybean_V7', $1438 = 'Soybean_V8', $1439 = 'Soybean_V9', $1440 = 'Soybean_X0', $1441 = 'Soybean_X1', $1442 = 'Soybean_X2', $1443 = 'Soybean_X3', $1444 = 'Soybean_X4', $1445 = 'Soybean_X5', $1446 = 'Soybean_X6', $1447 = 'Soybean_X7', $1448 = 'Soybean_X8', $1449 = 'Soybean_X9', $1450 = 'Soybean_Z0', $1451 = 'Soybean_Z1', $1452 = 'Soybean_Z2', $1453 = 'Soybean_Z3', $1454 = 'Soybean_Z4', $1455 = 'Soybean_Z5', $1456 = 'Soybean_Z6', $1457 = 'Soybean_Z7', $1458 = 'Soybean_Z8', $1459 = 'Soybean_Z9', $1460 = 'Sugar_F0', $1461 = 'Sugar_F1', $1462 = 'Sugar_F2', $1463 = 'Sugar_F3', $1464 = 'Sugar_F4', $1465 = 'Sugar_F5', $1466 = 'Sugar_F6', $1467 = 'Sugar_F7', $1468 = 'Sugar_F8', $1469 = 'Sugar_F9', $1470 = 'Sugar_G0', $1471 = 'Sugar_G1', $1472 = 'Sugar_G2', $1473 = 'Sugar_G3', $1474 = 'Sugar_G4', $1475 = 'Sugar_G5', $1476 = 'Sugar_G6', $1477 = 'Sugar_G7', $1478 = 'Sugar_G8', $1479 = 'Sugar_G9', $1480 = 'Sugar_H0', $1481 = 'Sugar_H1', $1482 = 'Sugar_H2', $1483 = 'Sugar_H3', $1484 = 'Sugar_H4', $1485 = 'Sugar_H5', $1486 = 'Sugar_H6', $1487 = 'Sugar_H7', $1488 = 'Sugar_H8', $1489 = 'Sugar_H9', $1490 = 'Sugar_J0', $1491 = 'Sugar_J1', $1492 = 'Sugar_J2', $1493 = 'Sugar_J3', $1494 = 'Sugar_J4', $1495 = 'Sugar_J5', $1496 = 'Sugar_J6', $1497 = 'Sugar_J7', $1498 = 'Sugar_J8', $1499 = 'Sugar_J9', $1500 = 'Sugar_K0', $1501 = 'Sugar_K1', $1502 = 'Sugar_K2', $1503 = 'Sugar_K3', $1504 = 'Sugar_K4', $1505 = 'Sugar_K5', $1506 = 'Sugar_K6', $1507 = 'Sugar_K7', $1508 = 'Sugar_K8', $1509 = 'Sugar_K9', $1510 = 'Sugar_M0', $1511 = 'Sugar_M1', $1512 = 'Sugar_M2', $1513 = 'Sugar_M3', $1514 = 'Sugar_M4', $1515 = 'Sugar_M5', $1516 = 'Sugar_M6', $1517 = 'Sugar_M7', $1518 = 'Sugar_M8', $1519 = 'Sugar_M9', $1520 = 'Sugar_N0', $1521 = 'Sugar_N1', $1522 = 'Sugar_N2', $1523 = 'Sugar_N3', $1524 = 'Sugar_N4', $1525 = 'Sugar_N5', $1526 = 'Sugar_N6', $1527 = 'Sugar_N7', $1528 = 'Sugar_N8', $1529 = 'Sugar_N9', $1530 = 'Sugar_Q0', $1531 = 'Sugar_Q1', $1532 = 'Sugar_Q2', $1533 = 'Sugar_Q3', $1534 = 'Sugar_Q4', $1535 = 'Sugar_Q5', $1536 = 'Sugar_Q6', $1537 = 'Sugar_Q7', $1538 = 'Sugar_Q8', $1539 = 'Sugar_Q9', $1540 = 'Sugar_U0', $1541 = 'Sugar_U1', $1542 = 'Sugar_U2', $1543 = 'Sugar_U3', $1544 = 'Sugar_U4', $1545 = 'Sugar_U5', $1546 = 'Sugar_U6', $1547 = 'Sugar_U7', $1548 = 'Sugar_U8', $1549 = 'Sugar_U9', $1550 = 'Sugar_V0', $1551 = 'Sugar_V1', $1552 = 'Sugar_V2', $1553 = 'Sugar_V3', $1554 = 'Sugar_V4', $1555 = 'Sugar_V5', $1556 = 'Sugar_V6', $1557 = 'Sugar_V7', $1558 = 'Sugar_V8', $1559 = 'Sugar_V9', $1560 = 'Sugar_X0', $1561 = 'Sugar_X1', $1562 = 'Sugar_X2', $1563 = 'Sugar_X3', $1564 = 'Sugar_X4', $1565 = 'Sugar_X5', $1566 = 'Sugar_X6', $1567 = 'Sugar_X7', $1568 = 'Sugar_X8', $1569 = 'Sugar_X9', $1570 = 'Sugar_Z0', $1571 = 'Sugar_Z1', $1572 = 'Sugar_Z2', $1573 = 'Sugar_Z3', $1574 = 'Sugar_Z4', $1575 = 'Sugar_Z5', $1576 = 'Sugar_Z6', $1577 = 'Sugar_Z7', $1578 = 'Sugar_Z8', $1579 = 'Sugar_Z9', $1580 = 'UK100', $1581 = 'US2000', $1582 = 'US30', $1583 = 'US500', $1584 = 'USDCAD', $1585 = 'USDCHF', $1586 = 'USDCNH', $1587 = 'USDCZK', $1588 = 'USDDKK', $1589 = 'USDHKD', $1590 = 'USDHUF', $1591 = 'USDJPY', $1592 = 'USDMXN', $1593 = 'USDNOK', $1594 = 'USDPLN', $1595 = 'USDRUB', $1596 = 'USDSEK', $1597 = 'USDSGD', $1598 = 'USDTHB', $1599 = 'USDTRY', $1600 = 'USDZAR', $1601 = 'USTEC', $1602 = 'WTI_F0', $1603 = 'WTI_F1', $1604 = 'WTI_F2', $1605 = 'WTI_F3', $1606 = 'WTI_F4', $1607 = 'WTI_F5', $1608 = 'WTI_F6', $1609 = 'WTI_F7', $1610 = 'WTI_F8', $1611 = 'WTI_F9', $1612 = 'WTI_G0', $1613 = 'WTI_G1', $1614 = 'WTI_G2', $1615 = 'WTI_G3', $1616 = 'WTI_G4', $1617 = 'WTI_G5', $1618 = 'WTI_G6', $1619 = 'WTI_G7', $1620 = 'WTI_G8', $1621 = 'WTI_G9', $1622 = 'WTI_H0', $1623 = 'WTI_H1', $1624 = 'WTI_H2', $1625 = 'WTI_H3', $1626 = 'WTI_H4', $1627 = 'WTI_H5', $1628 = 'WTI_H6', $1629 = 'WTI_H7', $1630 = 'WTI_H8', $1631 = 'WTI_H9', $1632 = 'WTI_J0', $1633 = 'WTI_J1', $1634 = 'WTI_J2', $1635 = 'WTI_J3', $1636 = 'WTI_J4', $1637 = 'WTI_J5', $1638 = 'WTI_J6', $1639 = 'WTI_J7', $1640 = 'WTI_J8', $1641 = 'WTI_J9', $1642 = 'WTI_K0', $1643 = 'WTI_K1', $1644 = 'WTI_K2', $1645 = 'WTI_K3', $1646 = 'WTI_K4', $1647 = 'WTI_K5', $1648 = 'WTI_K6', $1649 = 'WTI_K7', $1650 = 'WTI_K8', $1651 = 'WTI_K9', $1652 = 'WTI_M0', $1653 = 'WTI_M1', $1654 = 'WTI_M2', $1655 = 'WTI_M3', $1656 = 'WTI_M4', $1657 = 'WTI_M5', $1658 = 'WTI_M6', $1659 = 'WTI_M7', $1660 = 'WTI_M8', $1661 = 'WTI_M9', $1662 = 'WTI_N0', $1663 = 'WTI_N1', $1664 = 'WTI_N2', $1665 = 'WTI_N3', $1666 = 'WTI_N4', $1667 = 'WTI_N5', $1668 = 'WTI_N6', $1669 = 'WTI_N7', $1670 = 'WTI_N8', $1671 = 'WTI_N9', $1672 = 'WTI_Q0', $1673 = 'WTI_Q1', $1674 = 'WTI_Q2', $1675 = 'WTI_Q3', $1676 = 'WTI_Q4', $1677 = 'WTI_Q5', $1678 = 'WTI_Q6', $1679 = 'WTI_Q7', $1680 = 'WTI_Q8', $1681 = 'WTI_Q9', $1682 = 'WTI_U0', $1683 = 'WTI_U1', $1684 = 'WTI_U2', $1685 = 'WTI_U3', $1686 = 'WTI_U4', $1687 = 'WTI_U5', $1688 = 'WTI_U6', $1689 = 'WTI_U7', $1690 = 'WTI_U8', $1691 = 'WTI_U9', $1692 = 'WTI_V0', $1693 = 'WTI_V1', $1694 = 'WTI_V2', $1695 = 'WTI_V3', $1696 = 'WTI_V4', $1697 = 'WTI_V5', $1698 = 'WTI_V6', $1699 = 'WTI_V7', $1700 = 'WTI_V8', $1701 = 'WTI_V9', $1702 = 'WTI_X0', $1703 = 'WTI_X1', $1704 = 'WTI_X2', $1705 = 'WTI_X3', $1706 = 'WTI_X4', $1707 = 'WTI_X5', $1708 = 'WTI_X6', $1709 = 'WTI_X7', $1710 = 'WTI_X8', $1711 = 'WTI_X9', $1712 = 'WTI_Z0', $1713 = 'WTI_Z1', $1714 = 'WTI_Z2', $1715 = 'WTI_Z3', $1716 = 'WTI_Z4', $1717 = 'WTI_Z5', $1718 = 'WTI_Z6', $1719 = 'WTI_Z7', $1720 = 'WTI_Z8', $1721 = 'WTI_Z9', $1722 = 'Wheat_F0', $1723 = 'Wheat_F1', $1724 = 'Wheat_F2', $1725 = 'Wheat_F3', $1726 = 'Wheat_F4', $1727 = 'Wheat_F5', $1728 = 'Wheat_F6', $1729 = 'Wheat_F7', $1730 = 'Wheat_F8', $1731 = 'Wheat_F9', $1732 = 'Wheat_G0', $1733 = 'Wheat_G1', $1734 = 'Wheat_G2', $1735 = 'Wheat_G3', $1736 = 'Wheat_G4', $1737 = 'Wheat_G5', $1738 = 'Wheat_G6', $1739 = 'Wheat_G7', $1740 = 'Wheat_G8', $1741 = 'Wheat_G9', $1742 = 'Wheat_H0', $1743 = 'Wheat_H1', $1744 = 'Wheat_H2', $1745 = 'Wheat_H3', $1746 = 'Wheat_H4', $1747 = 'Wheat_H5', $1748 = 'Wheat_H6', $1749 = 'Wheat_H7', $1750 = 'Wheat_H8', $1751 = 'Wheat_H9', $1752 = 'Wheat_J0', $1753 = 'Wheat_J1', $1754 = 'Wheat_J2', $1755 = 'Wheat_J3', $1756 = 'Wheat_J4', $1757 = 'Wheat_J5', $1758 = 'Wheat_J6', $1759 = 'Wheat_J7', $1760 = 'Wheat_J8', $1761 = 'Wheat_J9', $1762 = 'Wheat_K0', $1763 = 'Wheat_K1', $1764 = 'Wheat_K2', $1765 = 'Wheat_K3', $1766 = 'Wheat_K4', $1767 = 'Wheat_K5', $1768 = 'Wheat_K6', $1769 = 'Wheat_K7', $1770 = 'Wheat_K8', $1771 = 'Wheat_K9', $1772 = 'Wheat_M0', $1773 = 'Wheat_M1', $1774 = 'Wheat_M2', $1775 = 'Wheat_M3', $1776 = 'Wheat_M4', $1777 = 'Wheat_M5', $1778 = 'Wheat_M6', $1779 = 'Wheat_M7', $1780 = 'Wheat_M8', $1781 = 'Wheat_M9', $1782 = 'Wheat_N0', $1783 = 'Wheat_N1', $1784 = 'Wheat_N2', $1785 = 'Wheat_N3', $1786 = 'Wheat_N4', $1787 = 'Wheat_N5', $1788 = 'Wheat_N6', $1789 = 'Wheat_N7', $1790 = 'Wheat_N8', $1791 = 'Wheat_N9', $1792 = 'Wheat_Q0', $1793 = 'Wheat_Q1', $1794 = 'Wheat_Q2', $1795 = 'Wheat_Q3', $1796 = 'Wheat_Q4', $1797 = 'Wheat_Q5', $1798 = 'Wheat_Q6', $1799 = 'Wheat_Q7', $1800 = 'Wheat_Q8', $1801 = 'Wheat_Q9', $1802 = 'Wheat_U0', $1803 = 'Wheat_U1', $1804 = 'Wheat_U2', $1805 = 'Wheat_U3', $1806 = 'Wheat_U4', $1807 = 'Wheat_U5', $1808 = 'Wheat_U6', $1809 = 'Wheat_U7', $1810 = 'Wheat_U8', $1811 = 'Wheat_U9', $1812 = 'Wheat_V0', $1813 = 'Wheat_V1', $1814 = 'Wheat_V2', $1815 = 'Wheat_V3', $1816 = 'Wheat_V4', $1817 = 'Wheat_V5', $1818 = 'Wheat_V6', $1819 = 'Wheat_V7', $1820 = 'Wheat_V8', $1821 = 'Wheat_V9', $1822 = 'Wheat_X0', $1823 = 'Wheat_X1', $1824 = 'Wheat_X2', $1825 = 'Wheat_X3', $1826 = 'Wheat_X4', $1827 = 'Wheat_X5', $1828 = 'Wheat_X6', $1829 = 'Wheat_X7', $1830 = 'Wheat_X8', $1831 = 'Wheat_X9', $1832 = 'Wheat_Z0', $1833 = 'Wheat_Z1', $1834 = 'Wheat_Z2', $1835 = 'Wheat_Z3', $1836 = 'Wheat_Z4', $1837 = 'Wheat_Z5', $1838 = 'Wheat_Z6', $1839 = 'Wheat_Z7', $1840 = 'Wheat_Z8', $1841 = 'Wheat_Z9', $1842 = 'XAGEUR', $1843 = 'XAGUSD', $1844 = 'XAUEUR', $1845 = 'XAUUSD', $1846 = 'XBRUSD', $1847 = 'XNGUSD', $1848 = 'XPDUSD', $1849 = 'XPTUSD', $1850 = 'XTIUSD', $1851 = '5'
-
WITH pre_symbols AS ( /* find relevant symbols */ ;
Date: 2026-01-15 13:15:00 Duration: 18ms Database: postgres parameters: $1 = '972', $2 = 'ICMARKETS-AU-MT5', $3 = 'AUDSGD', $4 = 'CHFSGD', $5 = 'EURDKK', $6 = 'EURHKD', $7 = 'EURNOK', $8 = 'EURPLN', $9 = 'EURSEK', $10 = 'EURSGD', $11 = 'EURTRY', $12 = 'EURZAR', $13 = 'GBPDKK', $14 = 'GBPNOK', $15 = 'GBPSEK', $16 = 'GBPSGD', $17 = 'NOKJPY', $18 = 'NOKSEK', $19 = 'SEKJPY', $20 = 'SGDJPY', $21 = 'USDCNH', $22 = 'USDCZK', $23 = 'USDDKK', $24 = 'USDHKD', $25 = 'USDHUF', $26 = 'USDMXN', $27 = 'USDNOK', $28 = 'USDPLN', $29 = 'USDRUB', $30 = 'USDSEK', $31 = 'USDTHB', $32 = 'USDTRY', $33 = 'USDZAR', $34 = 'AUDUSD', $35 = 'EURUSD', $36 = 'GBPUSD', $37 = 'USDCAD', $38 = 'USDCHF', $39 = 'USDJPY', $40 = 'AUDCAD', $41 = 'AUDCHF', $42 = 'AUDJPY', $43 = 'AUDNZD', $44 = 'CADCHF', $45 = 'CADJPY', $46 = 'CHFJPY', $47 = 'EURAUD', $48 = 'EURCAD', $49 = 'EURCHF', $50 = 'EURGBP', $51 = 'EURJPY', $52 = 'EURNZD', $53 = 'GBPAUD', $54 = 'GBPCAD', $55 = 'GBPCHF', $56 = 'GBPJPY', $57 = 'GBPNZD', $58 = 'NZDCAD', $59 = 'NZDCHF', $60 = 'NZDJPY', $61 = 'NZDUSD', $62 = 'USDSGD', $63 = 'AUS200', $64 = 'CHINA50', $65 = 'DE30', $66 = 'ES35', $67 = 'F40', $68 = 'HK50', $69 = 'IT40', $70 = 'JP225', $71 = 'STOXX50', $72 = 'UK100', $73 = 'US2000', $74 = 'US30', $75 = 'US500', $76 = 'USTEC', $77 = 'XAGEUR', $78 = 'XAGUSD', $79 = 'XAUEUR', $80 = 'XAUUSD', $81 = 'XPDUSD', $82 = 'XPTUSD', $83 = 'XBRUSD', $84 = 'XNGUSD', $85 = 'XTIUSD', $86 = 'BTCUSD', $87 = 'BRENT_F0', $88 = 'BRENT_F1', $89 = 'BRENT_F2', $90 = 'BRENT_F3', $91 = 'BRENT_F4', $92 = 'BRENT_F5', $93 = 'BRENT_F6', $94 = 'BRENT_F7', $95 = 'BRENT_F8', $96 = 'BRENT_F9', $97 = 'BRENT_G0', $98 = 'BRENT_G1', $99 = 'BRENT_G2', $100 = 'BRENT_G3', $101 = 'BRENT_G4', $102 = 'BRENT_G5', $103 = 'BRENT_G6', $104 = 'BRENT_G7', $105 = 'BRENT_G8', $106 = 'BRENT_G9', $107 = 'BRENT_H0', $108 = 'BRENT_H1', $109 = 'BRENT_H2', $110 = 'BRENT_H3', $111 = 'BRENT_H4', $112 = 'BRENT_H5', $113 = 'BRENT_H6', $114 = 'BRENT_H7', $115 = 'BRENT_H8', $116 = 'BRENT_H9', $117 = 'BRENT_J0', $118 = 'BRENT_J1', $119 = 'BRENT_J2', $120 = 'BRENT_J3', $121 = 'BRENT_J4', $122 = 'BRENT_J5', $123 = 'BRENT_J6', $124 = 'BRENT_J7', $125 = 'BRENT_J8', $126 = 'BRENT_J9', $127 = 'BRENT_K0', $128 = 'BRENT_K1', $129 = 'BRENT_K2', $130 = 'BRENT_K3', $131 = 'BRENT_K4', $132 = 'BRENT_K5', $133 = 'BRENT_K6', $134 = 'BRENT_K7', $135 = 'BRENT_K8', $136 = 'BRENT_K9', $137 = 'BRENT_M0', $138 = 'BRENT_M1', $139 = 'BRENT_M2', $140 = 'BRENT_M3', $141 = 'BRENT_M4', $142 = 'BRENT_M5', $143 = 'BRENT_M6', $144 = 'BRENT_M7', $145 = 'BRENT_M8', $146 = 'BRENT_M9', $147 = 'BRENT_N0', $148 = 'BRENT_N1', $149 = 'BRENT_N2', $150 = 'BRENT_N3', $151 = 'BRENT_N4', $152 = 'BRENT_N5', $153 = 'BRENT_N6', $154 = 'BRENT_N7', $155 = 'BRENT_N8', $156 = 'BRENT_N9', $157 = 'BRENT_Q0', $158 = 'BRENT_Q1', $159 = 'BRENT_Q2', $160 = 'BRENT_Q3', $161 = 'BRENT_Q4', $162 = 'BRENT_Q5', $163 = 'BRENT_Q6', $164 = 'BRENT_Q7', $165 = 'BRENT_Q8', $166 = 'BRENT_Q9', $167 = 'BRENT_U0', $168 = 'BRENT_U1', $169 = 'BRENT_U2', $170 = 'BRENT_U3', $171 = 'BRENT_U4', $172 = 'BRENT_U5', $173 = 'BRENT_U6', $174 = 'BRENT_U7', $175 = 'BRENT_U8', $176 = 'BRENT_U9', $177 = 'BRENT_V0', $178 = 'BRENT_V1', $179 = 'BRENT_V2', $180 = 'BRENT_V3', $181 = 'BRENT_V4', $182 = 'BRENT_V5', $183 = 'BRENT_V6', $184 = 'BRENT_V7', $185 = 'BRENT_V8', $186 = 'BRENT_V9', $187 = 'BRENT_X0', $188 = 'BRENT_X1', $189 = 'BRENT_X2', $190 = 'BRENT_X3', $191 = 'BRENT_X4', $192 = 'BRENT_X5', $193 = 'BRENT_X6', $194 = 'BRENT_X7', $195 = 'BRENT_X8', $196 = 'BRENT_X9', $197 = 'BRENT_Z0', $198 = 'BRENT_Z1', $199 = 'BRENT_Z2', $200 = 'BRENT_Z3', $201 = 'BRENT_Z4', $202 = 'BRENT_Z5', $203 = 'BRENT_Z6', $204 = 'BRENT_Z7', $205 = 'BRENT_Z8', $206 = 'BRENT_Z9', $207 = 'Coffee_F0', $208 = 'Coffee_F1', $209 = 'Coffee_F2', $210 = 'Coffee_F3', $211 = 'Coffee_F4', $212 = 'Coffee_F5', $213 = 'Coffee_F6', $214 = 'Coffee_F7', $215 = 'Coffee_F8', $216 = 'Coffee_F9', $217 = 'Coffee_G0', $218 = 'Coffee_G1', $219 = 'Coffee_G2', $220 = 'Coffee_G3', $221 = 'Coffee_G4', $222 = 'Coffee_G5', $223 = 'Coffee_G6', $224 = 'Coffee_G7', $225 = 'Coffee_G8', $226 = 'Coffee_G9', $227 = 'Coffee_H0', $228 = 'Coffee_H1', $229 = 'Coffee_H2', $230 = 'Coffee_H3', $231 = 'Coffee_H4', $232 = 'Coffee_H5', $233 = 'Coffee_H6', $234 = 'Coffee_H7', $235 = 'Coffee_H8', $236 = 'Coffee_H9', $237 = 'Coffee_J0', $238 = 'Coffee_J1', $239 = 'Coffee_J2', $240 = 'Coffee_J3', $241 = 'Coffee_J4', $242 = 'Coffee_J5', $243 = 'Coffee_J6', $244 = 'Coffee_J7', $245 = 'Coffee_J8', $246 = 'Coffee_J9', $247 = 'Coffee_K0', $248 = 'Coffee_K1', $249 = 'Coffee_K2', $250 = 'Coffee_K3', $251 = 'Coffee_K4', $252 = 'Coffee_K5', $253 = 'Coffee_K6', $254 = 'Coffee_K7', $255 = 'Coffee_K8', $256 = 'Coffee_K9', $257 = 'Coffee_M0', $258 = 'Coffee_M1', $259 = 'Coffee_M2', $260 = 'Coffee_M3', $261 = 'Coffee_M4', $262 = 'Coffee_M5', $263 = 'Coffee_M6', $264 = 'Coffee_M7', $265 = 'Coffee_M8', $266 = 'Coffee_M9', $267 = 'Coffee_N0', $268 = 'Coffee_N1', $269 = 'Coffee_N2', $270 = 'Coffee_N3', $271 = 'Coffee_N4', $272 = 'Coffee_N5', $273 = 'Coffee_N6', $274 = 'Coffee_N7', $275 = 'Coffee_N8', $276 = 'Coffee_N9', $277 = 'Coffee_Q0', $278 = 'Coffee_Q1', $279 = 'Coffee_Q2', $280 = 'Coffee_Q3', $281 = 'Coffee_Q4', $282 = 'Coffee_Q5', $283 = 'Coffee_Q6', $284 = 'Coffee_Q7', $285 = 'Coffee_Q8', $286 = 'Coffee_Q9', $287 = 'Coffee_U0', $288 = 'Coffee_U1', $289 = 'Coffee_U2', $290 = 'Coffee_U3', $291 = 'Coffee_U4', $292 = 'Coffee_U5', $293 = 'Coffee_U6', $294 = 'Coffee_U7', $295 = 'Coffee_U8', $296 = 'Coffee_U9', $297 = 'Coffee_V0', $298 = 'Coffee_V1', $299 = 'Coffee_V2', $300 = 'Coffee_V3', $301 = 'Coffee_V4', $302 = 'Coffee_V5', $303 = 'Coffee_V6', $304 = 'Coffee_V7', $305 = 'Coffee_V8', $306 = 'Coffee_V9', $307 = 'Coffee_X0', $308 = 'Coffee_X1', $309 = 'Coffee_X2', $310 = 'Coffee_X3', $311 = 'Coffee_X4', $312 = 'Coffee_X5', $313 = 'Coffee_X6', $314 = 'Coffee_X7', $315 = 'Coffee_X8', $316 = 'Coffee_X9', $317 = 'Coffee_Z0', $318 = 'Coffee_Z1', $319 = 'Coffee_Z2', $320 = 'Coffee_Z3', $321 = 'Coffee_Z4', $322 = 'Coffee_Z5', $323 = 'Coffee_Z6', $324 = 'Coffee_Z7', $325 = 'Coffee_Z8', $326 = 'Coffee_Z9', $327 = 'Corn_F0', $328 = 'Corn_F1', $329 = 'Corn_F2', $330 = 'Corn_F3', $331 = 'Corn_F4', $332 = 'Corn_F5', $333 = 'Corn_F6', $334 = 'Corn_F7', $335 = 'Corn_F8', $336 = 'Corn_F9', $337 = 'Corn_G0', $338 = 'Corn_G1', $339 = 'Corn_G2', $340 = 'Corn_G3', $341 = 'Corn_G4', $342 = 'Corn_G5', $343 = 'Corn_G6', $344 = 'Corn_G7', $345 = 'Corn_G8', $346 = 'Corn_G9', $347 = 'Corn_H0', $348 = 'Corn_H1', $349 = 'Corn_H2', $350 = 'Corn_H3', $351 = 'Corn_H4', $352 = 'Corn_H5', $353 = 'Corn_H6', $354 = 'Corn_H7', $355 = 'Corn_H8', $356 = 'Corn_H9', $357 = 'Corn_J0', $358 = 'Corn_J1', $359 = 'Corn_J2', $360 = 'Corn_J3', $361 = 'Corn_J4', $362 = 'Corn_J5', $363 = 'Corn_J6', $364 = 'Corn_J7', $365 = 'Corn_J8', $366 = 'Corn_J9', $367 = 'Corn_K0', $368 = 'Corn_K1', $369 = 'Corn_K2', $370 = 'Corn_K3', $371 = 'Corn_K4', $372 = 'Corn_K5', $373 = 'Corn_K6', $374 = 'Corn_K7', $375 = 'Corn_K8', $376 = 'Corn_K9', $377 = 'Corn_M0', $378 = 'Corn_M1', $379 = 'Corn_M2', $380 = 'Corn_M3', $381 = 'Corn_M4', $382 = 'Corn_M5', $383 = 'Corn_M6', $384 = 'Corn_M7', $385 = 'Corn_M8', $386 = 'Corn_M9', $387 = 'Corn_N0', $388 = 'Corn_N1', $389 = 'Corn_N2', $390 = 'Corn_N3', $391 = 'Corn_N4', $392 = 'Corn_N5', $393 = 'Corn_N6', $394 = 'Corn_N7', $395 = 'Corn_N8', $396 = 'Corn_N9', $397 = 'Corn_Q0', $398 = 'Corn_Q1', $399 = 'Corn_Q2', $400 = 'Corn_Q3', $401 = 'Corn_Q4', $402 = 'Corn_Q5', $403 = 'Corn_Q6', $404 = 'Corn_Q7', $405 = 'Corn_Q8', $406 = 'Corn_Q9', $407 = 'Corn_U0', $408 = 'Corn_U1', $409 = 'Corn_U2', $410 = 'Corn_U3', $411 = 'Corn_U4', $412 = 'Corn_U5', $413 = 'Corn_U6', $414 = 'Corn_U7', $415 = 'Corn_U8', $416 = 'Corn_U9', $417 = 'Corn_V0', $418 = 'Corn_V1', $419 = 'Corn_V2', $420 = 'Corn_V3', $421 = 'Corn_V4', $422 = 'Corn_V5', $423 = 'Corn_V6', $424 = 'Corn_V7', $425 = 'Corn_V8', $426 = 'Corn_V9', $427 = 'Corn_X0', $428 = 'Corn_X1', $429 = 'Corn_X2', $430 = 'Corn_X3', $431 = 'Corn_X4', $432 = 'Corn_X5', $433 = 'Corn_X6', $434 = 'Corn_X7', $435 = 'Corn_X8', $436 = 'Corn_X9', $437 = 'Corn_Z0', $438 = 'Corn_Z1', $439 = 'Corn_Z2', $440 = 'Corn_Z3', $441 = 'Corn_Z4', $442 = 'Corn_Z5', $443 = 'Corn_Z6', $444 = 'Corn_Z7', $445 = 'Corn_Z8', $446 = 'Corn_Z9', $447 = 'Soybean_F0', $448 = 'Soybean_F1', $449 = 'Soybean_F2', $450 = 'Soybean_F3', $451 = 'Soybean_F4', $452 = 'Soybean_F5', $453 = 'Soybean_F6', $454 = 'Soybean_F7', $455 = 'Soybean_F8', $456 = 'Soybean_F9', $457 = 'Soybean_G0', $458 = 'Soybean_G1', $459 = 'Soybean_G2', $460 = 'Soybean_G3', $461 = 'Soybean_G4', $462 = 'Soybean_G5', $463 = 'Soybean_G6', $464 = 'Soybean_G7', $465 = 'Soybean_G8', $466 = 'Soybean_G9', $467 = 'Soybean_H0', $468 = 'Soybean_H1', $469 = 'Soybean_H2', $470 = 'Soybean_H3', $471 = 'Soybean_H4', $472 = 'Soybean_H5', $473 = 'Soybean_H6', $474 = 'Soybean_H7', $475 = 'Soybean_H8', $476 = 'Soybean_H9', $477 = 'Soybean_J0', $478 = 'Soybean_J1', $479 = 'Soybean_J2', $480 = 'Soybean_J3', $481 = 'Soybean_J4', $482 = 'Soybean_J5', $483 = 'Soybean_J6', $484 = 'Soybean_J7', $485 = 'Soybean_J8', $486 = 'Soybean_J9', $487 = 'Soybean_K0', $488 = 'Soybean_K1', $489 = 'Soybean_K2', $490 = 'Soybean_K3', $491 = 'Soybean_K4', $492 = 'Soybean_K5', $493 = 'Soybean_K6', $494 = 'Soybean_K7', $495 = 'Soybean_K8', $496 = 'Soybean_K9', $497 = 'Soybean_M0', $498 = 'Soybean_M1', $499 = 'Soybean_M2', $500 = 'Soybean_M3', $501 = 'Soybean_M4', $502 = 'Soybean_M5', $503 = 'Soybean_M6', $504 = 'Soybean_M7', $505 = 'Soybean_M8', $506 = 'Soybean_M9', $507 = 'Soybean_N0', $508 = 'Soybean_N1', $509 = 'Soybean_N2', $510 = 'Soybean_N3', $511 = 'Soybean_N4', $512 = 'Soybean_N5', $513 = 'Soybean_N6', $514 = 'Soybean_N7', $515 = 'Soybean_N8', $516 = 'Soybean_N9', $517 = 'Soybean_Q0', $518 = 'Soybean_Q1', $519 = 'Soybean_Q2', $520 = 'Soybean_Q3', $521 = 'Soybean_Q4', $522 = 'Soybean_Q5', $523 = 'Soybean_Q6', $524 = 'Soybean_Q7', $525 = 'Soybean_Q8', $526 = 'Soybean_Q9', $527 = 'Soybean_U0', $528 = 'Soybean_U1', $529 = 'Soybean_U2', $530 = 'Soybean_U3', $531 = 'Soybean_U4', $532 = 'Soybean_U5', $533 = 'Soybean_U6', $534 = 'Soybean_U7', $535 = 'Soybean_U8', $536 = 'Soybean_U9', $537 = 'Soybean_V0', $538 = 'Soybean_V1', $539 = 'Soybean_V2', $540 = 'Soybean_V3', $541 = 'Soybean_V4', $542 = 'Soybean_V5', $543 = 'Soybean_V6', $544 = 'Soybean_V7', $545 = 'Soybean_V8', $546 = 'Soybean_V9', $547 = 'Soybean_X0', $548 = 'Soybean_X1', $549 = 'Soybean_X2', $550 = 'Soybean_X3', $551 = 'Soybean_X4', $552 = 'Soybean_X5', $553 = 'Soybean_X6', $554 = 'Soybean_X7', $555 = 'Soybean_X8', $556 = 'Soybean_X9', $557 = 'Soybean_Z0', $558 = 'Soybean_Z1', $559 = 'Soybean_Z2', $560 = 'Soybean_Z3', $561 = 'Soybean_Z4', $562 = 'Soybean_Z5', $563 = 'Soybean_Z6', $564 = 'Soybean_Z7', $565 = 'Soybean_Z8', $566 = 'Soybean_Z9', $567 = 'Sugar_F0', $568 = 'Sugar_F1', $569 = 'Sugar_F2', $570 = 'Sugar_F3', $571 = 'Sugar_F4', $572 = 'Sugar_F5', $573 = 'Sugar_F6', $574 = 'Sugar_F7', $575 = 'Sugar_F8', $576 = 'Sugar_F9', $577 = 'Sugar_G0', $578 = 'Sugar_G1', $579 = 'Sugar_G2', $580 = 'Sugar_G3', $581 = 'Sugar_G4', $582 = 'Sugar_G5', $583 = 'Sugar_G6', $584 = 'Sugar_G7', $585 = 'Sugar_G8', $586 = 'Sugar_G9', $587 = 'Sugar_H0', $588 = 'Sugar_H1', $589 = 'Sugar_H2', $590 = 'Sugar_H3', $591 = 'Sugar_H4', $592 = 'Sugar_H5', $593 = 'Sugar_H6', $594 = 'Sugar_H7', $595 = 'Sugar_H8', $596 = 'Sugar_H9', $597 = 'Sugar_J0', $598 = 'Sugar_J1', $599 = 'Sugar_J2', $600 = 'Sugar_J3', $601 = 'Sugar_J4', $602 = 'Sugar_J5', $603 = 'Sugar_J6', $604 = 'Sugar_J7', $605 = 'Sugar_J8', $606 = 'Sugar_J9', $607 = 'Sugar_K0', $608 = 'Sugar_K1', $609 = 'Sugar_K2', $610 = 'Sugar_K3', $611 = 'Sugar_K4', $612 = 'Sugar_K5', $613 = 'Sugar_K6', $614 = 'Sugar_K7', $615 = 'Sugar_K8', $616 = 'Sugar_K9', $617 = 'Sugar_M0', $618 = 'Sugar_M1', $619 = 'Sugar_M2', $620 = 'Sugar_M3', $621 = 'Sugar_M4', $622 = 'Sugar_M5', $623 = 'Sugar_M6', $624 = 'Sugar_M7', $625 = 'Sugar_M8', $626 = 'Sugar_M9', $627 = 'Sugar_N0', $628 = 'Sugar_N1', $629 = 'Sugar_N2', $630 = 'Sugar_N3', $631 = 'Sugar_N4', $632 = 'Sugar_N5', $633 = 'Sugar_N6', $634 = 'Sugar_N7', $635 = 'Sugar_N8', $636 = 'Sugar_N9', $637 = 'Sugar_Q0', $638 = 'Sugar_Q1', $639 = 'Sugar_Q2', $640 = 'Sugar_Q3', $641 = 'Sugar_Q4', $642 = 'Sugar_Q5', $643 = 'Sugar_Q6', $644 = 'Sugar_Q7', $645 = 'Sugar_Q8', $646 = 'Sugar_Q9', $647 = 'Sugar_U0', $648 = 'Sugar_U1', $649 = 'Sugar_U2', $650 = 'Sugar_U3', $651 = 'Sugar_U4', $652 = 'Sugar_U5', $653 = 'Sugar_U6', $654 = 'Sugar_U7', $655 = 'Sugar_U8', $656 = 'Sugar_U9', $657 = 'Sugar_V0', $658 = 'Sugar_V1', $659 = 'Sugar_V2', $660 = 'Sugar_V3', $661 = 'Sugar_V4', $662 = 'Sugar_V5', $663 = 'Sugar_V6', $664 = 'Sugar_V7', $665 = 'Sugar_V8', $666 = 'Sugar_V9', $667 = 'Sugar_X0', $668 = 'Sugar_X1', $669 = 'Sugar_X2', $670 = 'Sugar_X3', $671 = 'Sugar_X4', $672 = 'Sugar_X5', $673 = 'Sugar_X6', $674 = 'Sugar_X7', $675 = 'Sugar_X8', $676 = 'Sugar_X9', $677 = 'Sugar_Z0', $678 = 'Sugar_Z1', $679 = 'Sugar_Z2', $680 = 'Sugar_Z3', $681 = 'Sugar_Z4', $682 = 'Sugar_Z5', $683 = 'Sugar_Z6', $684 = 'Sugar_Z7', $685 = 'Sugar_Z8', $686 = 'Sugar_Z9', $687 = 'Wheat_F0', $688 = 'Wheat_F1', $689 = 'Wheat_F2', $690 = 'Wheat_F3', $691 = 'Wheat_F4', $692 = 'Wheat_F5', $693 = 'Wheat_F6', $694 = 'Wheat_F7', $695 = 'Wheat_F8', $696 = 'Wheat_F9', $697 = 'Wheat_G0', $698 = 'Wheat_G1', $699 = 'Wheat_G2', $700 = 'Wheat_G3', $701 = 'Wheat_G4', $702 = 'Wheat_G5', $703 = 'Wheat_G6', $704 = 'Wheat_G7', $705 = 'Wheat_G8', $706 = 'Wheat_G9', $707 = 'Wheat_H0', $708 = 'Wheat_H1', $709 = 'Wheat_H2', $710 = 'Wheat_H3', $711 = 'Wheat_H4', $712 = 'Wheat_H5', $713 = 'Wheat_H6', $714 = 'Wheat_H7', $715 = 'Wheat_H8', $716 = 'Wheat_H9', $717 = 'Wheat_J0', $718 = 'Wheat_J1', $719 = 'Wheat_J2', $720 = 'Wheat_J3', $721 = 'Wheat_J4', $722 = 'Wheat_J5', $723 = 'Wheat_J6', $724 = 'Wheat_J7', $725 = 'Wheat_J8', $726 = 'Wheat_J9', $727 = 'Wheat_K0', $728 = 'Wheat_K1', $729 = 'Wheat_K2', $730 = 'Wheat_K3', $731 = 'Wheat_K4', $732 = 'Wheat_K5', $733 = 'Wheat_K6', $734 = 'Wheat_K7', $735 = 'Wheat_K8', $736 = 'Wheat_K9', $737 = 'Wheat_M0', $738 = 'Wheat_M1', $739 = 'Wheat_M2', $740 = 'Wheat_M3', $741 = 'Wheat_M4', $742 = 'Wheat_M5', $743 = 'Wheat_M6', $744 = 'Wheat_M7', $745 = 'Wheat_M8', $746 = 'Wheat_M9', $747 = 'Wheat_N0', $748 = 'Wheat_N1', $749 = 'Wheat_N2', $750 = 'Wheat_N3', $751 = 'Wheat_N4', $752 = 'Wheat_N5', $753 = 'Wheat_N6', $754 = 'Wheat_N7', $755 = 'Wheat_N8', $756 = 'Wheat_N9', $757 = 'Wheat_Q0', $758 = 'Wheat_Q1', $759 = 'Wheat_Q2', $760 = 'Wheat_Q3', $761 = 'Wheat_Q4', $762 = 'Wheat_Q5', $763 = 'Wheat_Q6', $764 = 'Wheat_Q7', $765 = 'Wheat_Q8', $766 = 'Wheat_Q9', $767 = 'Wheat_U0', $768 = 'Wheat_U1', $769 = 'Wheat_U2', $770 = 'Wheat_U3', $771 = 'Wheat_U4', $772 = 'Wheat_U5', $773 = 'Wheat_U6', $774 = 'Wheat_U7', $775 = 'Wheat_U8', $776 = 'Wheat_U9', $777 = 'Wheat_V0', $778 = 'Wheat_V1', $779 = 'Wheat_V2', $780 = 'Wheat_V3', $781 = 'Wheat_V4', $782 = 'Wheat_V5', $783 = 'Wheat_V6', $784 = 'Wheat_V7', $785 = 'Wheat_V8', $786 = 'Wheat_V9', $787 = 'Wheat_X0', $788 = 'Wheat_X1', $789 = 'Wheat_X2', $790 = 'Wheat_X3', $791 = 'Wheat_X4', $792 = 'Wheat_X5', $793 = 'Wheat_X6', $794 = 'Wheat_X7', $795 = 'Wheat_X8', $796 = 'Wheat_X9', $797 = 'Wheat_Z0', $798 = 'Wheat_Z1', $799 = 'Wheat_Z2', $800 = 'Wheat_Z3', $801 = 'Wheat_Z4', $802 = 'Wheat_Z5', $803 = 'Wheat_Z6', $804 = 'Wheat_Z7', $805 = 'Wheat_Z8', $806 = 'Wheat_Z9', $807 = 'WTI_F0', $808 = 'WTI_F1', $809 = 'WTI_F2', $810 = 'WTI_F3', $811 = 'WTI_F4', $812 = 'WTI_F5', $813 = 'WTI_F6', $814 = 'WTI_F7', $815 = 'WTI_F8', $816 = 'WTI_F9', $817 = 'WTI_G0', $818 = 'WTI_G1', $819 = 'WTI_G2', $820 = 'WTI_G3', $821 = 'WTI_G4', $822 = 'WTI_G5', $823 = 'WTI_G6', $824 = 'WTI_G7', $825 = 'WTI_G8', $826 = 'WTI_G9', $827 = 'WTI_H0', $828 = 'WTI_H1', $829 = 'WTI_H2', $830 = 'WTI_H3', $831 = 'WTI_H4', $832 = 'WTI_H5', $833 = 'WTI_H6', $834 = 'WTI_H7', $835 = 'WTI_H8', $836 = 'WTI_H9', $837 = 'WTI_J0', $838 = 'WTI_J1', $839 = 'WTI_J2', $840 = 'WTI_J3', $841 = 'WTI_J4', $842 = 'WTI_J5', $843 = 'WTI_J6', $844 = 'WTI_J7', $845 = 'WTI_J8', $846 = 'WTI_J9', $847 = 'WTI_K0', $848 = 'WTI_K1', $849 = 'WTI_K2', $850 = 'WTI_K3', $851 = 'WTI_K4', $852 = 'WTI_K5', $853 = 'WTI_K6', $854 = 'WTI_K7', $855 = 'WTI_K8', $856 = 'WTI_K9', $857 = 'WTI_M0', $858 = 'WTI_M1', $859 = 'WTI_M2', $860 = 'WTI_M3', $861 = 'WTI_M4', $862 = 'WTI_M5', $863 = 'WTI_M6', $864 = 'WTI_M7', $865 = 'WTI_M8', $866 = 'WTI_M9', $867 = 'WTI_N0', $868 = 'WTI_N1', $869 = 'WTI_N2', $870 = 'WTI_N3', $871 = 'WTI_N4', $872 = 'WTI_N5', $873 = 'WTI_N6', $874 = 'WTI_N7', $875 = 'WTI_N8', $876 = 'WTI_N9', $877 = 'WTI_Q0', $878 = 'WTI_Q1', $879 = 'WTI_Q2', $880 = 'WTI_Q3', $881 = 'WTI_Q4', $882 = 'WTI_Q5', $883 = 'WTI_Q6', $884 = 'WTI_Q7', $885 = 'WTI_Q8', $886 = 'WTI_Q9', $887 = 'WTI_U0', $888 = 'WTI_U1', $889 = 'WTI_U2', $890 = 'WTI_U3', $891 = 'WTI_U4', $892 = 'WTI_U5', $893 = 'WTI_U6', $894 = 'WTI_U7', $895 = 'WTI_U8', $896 = 'WTI_U9', $897 = 'WTI_V0', $898 = 'WTI_V1', $899 = 'WTI_V2', $900 = 'WTI_V3', $901 = 'WTI_V4', $902 = 'WTI_V5', $903 = 'WTI_V6', $904 = 'WTI_V7', $905 = 'WTI_V8', $906 = 'WTI_V9', $907 = 'WTI_X0', $908 = 'WTI_X1', $909 = 'WTI_X2', $910 = 'WTI_X3', $911 = 'WTI_X4', $912 = 'WTI_X5', $913 = 'WTI_X6', $914 = 'WTI_X7', $915 = 'WTI_X8', $916 = 'WTI_X9', $917 = 'WTI_Z0', $918 = 'WTI_Z1', $919 = 'WTI_Z2', $920 = 'WTI_Z3', $921 = 'WTI_Z4', $922 = 'WTI_Z5', $923 = 'WTI_Z6', $924 = 'WTI_Z7', $925 = 'WTI_Z8', $926 = 'WTI_Z9', $927 = 'AUDSGD', $928 = 'CHFSGD', $929 = 'EURDKK', $930 = 'EURHKD', $931 = 'EURNOK', $932 = 'EURPLN', $933 = 'EURSEK', $934 = 'EURSGD', $935 = 'EURTRY', $936 = 'EURZAR', $937 = 'GBPDKK', $938 = 'GBPNOK', $939 = 'GBPSEK', $940 = 'GBPSGD', $941 = 'NOKJPY', $942 = 'NOKSEK', $943 = 'SEKJPY', $944 = 'SGDJPY', $945 = 'USDCNH', $946 = 'USDCZK', $947 = 'USDDKK', $948 = 'USDHKD', $949 = 'USDHUF', $950 = 'USDMXN', $951 = 'USDNOK', $952 = 'USDPLN', $953 = 'USDRUB', $954 = 'USDSEK', $955 = 'USDTHB', $956 = 'USDTRY', $957 = 'USDZAR', $958 = 'AUDUSD', $959 = 'EURUSD', $960 = 'GBPUSD', $961 = 'USDCAD', $962 = 'USDCHF', $963 = 'USDJPY', $964 = 'AUDCAD', $965 = 'AUDCHF', $966 = 'AUDJPY', $967 = 'AUDNZD', $968 = 'CADCHF', $969 = 'CADJPY', $970 = 'CHFJPY', $971 = 'EURAUD', $972 = 'EURCAD', $973 = 'EURCHF', $974 = 'EURGBP', $975 = 'EURJPY', $976 = 'EURNZD', $977 = 'GBPAUD', $978 = 'GBPCAD', $979 = 'GBPCHF', $980 = 'GBPJPY', $981 = 'GBPNZD', $982 = 'NZDCAD', $983 = 'NZDCHF', $984 = 'NZDJPY', $985 = 'NZDUSD', $986 = 'USDSGD', $987 = 'AUS200', $988 = 'CHINA50', $989 = 'DE30', $990 = 'ES35', $991 = 'F40', $992 = 'HK50', $993 = 'IT40', $994 = 'JP225', $995 = 'STOXX50', $996 = 'UK100', $997 = 'US2000', $998 = 'US30', $999 = 'US500', $1000 = 'USTEC', $1001 = 'XAGEUR', $1002 = 'XAGUSD', $1003 = 'XAUEUR', $1004 = 'XAUUSD', $1005 = 'XPDUSD', $1006 = 'XPTUSD', $1007 = 'XBRUSD', $1008 = 'XNGUSD', $1009 = 'XTIUSD', $1010 = 'BTCUSD', $1011 = 'BRENT_F0', $1012 = 'BRENT_F1', $1013 = 'BRENT_F2', $1014 = 'BRENT_F3', $1015 = 'BRENT_F4', $1016 = 'BRENT_F5', $1017 = 'BRENT_F6', $1018 = 'BRENT_F7', $1019 = 'BRENT_F8', $1020 = 'BRENT_F9', $1021 = 'BRENT_G0', $1022 = 'BRENT_G1', $1023 = 'BRENT_G2', $1024 = 'BRENT_G3', $1025 = 'BRENT_G4', $1026 = 'BRENT_G5', $1027 = 'BRENT_G6', $1028 = 'BRENT_G7', $1029 = 'BRENT_G8', $1030 = 'BRENT_G9', $1031 = 'BRENT_H0', $1032 = 'BRENT_H1', $1033 = 'BRENT_H2', $1034 = 'BRENT_H3', $1035 = 'BRENT_H4', $1036 = 'BRENT_H5', $1037 = 'BRENT_H6', $1038 = 'BRENT_H7', $1039 = 'BRENT_H8', $1040 = 'BRENT_H9', $1041 = 'BRENT_J0', $1042 = 'BRENT_J1', $1043 = 'BRENT_J2', $1044 = 'BRENT_J3', $1045 = 'BRENT_J4', $1046 = 'BRENT_J5', $1047 = 'BRENT_J6', $1048 = 'BRENT_J7', $1049 = 'BRENT_J8', $1050 = 'BRENT_J9', $1051 = 'BRENT_K0', $1052 = 'BRENT_K1', $1053 = 'BRENT_K2', $1054 = 'BRENT_K3', $1055 = 'BRENT_K4', $1056 = 'BRENT_K5', $1057 = 'BRENT_K6', $1058 = 'BRENT_K7', $1059 = 'BRENT_K8', $1060 = 'BRENT_K9', $1061 = 'BRENT_M0', $1062 = 'BRENT_M1', $1063 = 'BRENT_M2', $1064 = 'BRENT_M3', $1065 = 'BRENT_M4', $1066 = 'BRENT_M5', $1067 = 'BRENT_M6', $1068 = 'BRENT_M7', $1069 = 'BRENT_M8', $1070 = 'BRENT_M9', $1071 = 'BRENT_N0', $1072 = 'BRENT_N1', $1073 = 'BRENT_N2', $1074 = 'BRENT_N3', $1075 = 'BRENT_N4', $1076 = 'BRENT_N5', $1077 = 'BRENT_N6', $1078 = 'BRENT_N7', $1079 = 'BRENT_N8', $1080 = 'BRENT_N9', $1081 = 'BRENT_Q0', $1082 = 'BRENT_Q1', $1083 = 'BRENT_Q2', $1084 = 'BRENT_Q3', $1085 = 'BRENT_Q4', $1086 = 'BRENT_Q5', $1087 = 'BRENT_Q6', $1088 = 'BRENT_Q7', $1089 = 'BRENT_Q8', $1090 = 'BRENT_Q9', $1091 = 'BRENT_U0', $1092 = 'BRENT_U1', $1093 = 'BRENT_U2', $1094 = 'BRENT_U3', $1095 = 'BRENT_U4', $1096 = 'BRENT_U5', $1097 = 'BRENT_U6', $1098 = 'BRENT_U7', $1099 = 'BRENT_U8', $1100 = 'BRENT_U9', $1101 = 'BRENT_V0', $1102 = 'BRENT_V1', $1103 = 'BRENT_V2', $1104 = 'BRENT_V3', $1105 = 'BRENT_V4', $1106 = 'BRENT_V5', $1107 = 'BRENT_V6', $1108 = 'BRENT_V7', $1109 = 'BRENT_V8', $1110 = 'BRENT_V9', $1111 = 'BRENT_X0', $1112 = 'BRENT_X1', $1113 = 'BRENT_X2', $1114 = 'BRENT_X3', $1115 = 'BRENT_X4', $1116 = 'BRENT_X5', $1117 = 'BRENT_X6', $1118 = 'BRENT_X7', $1119 = 'BRENT_X8', $1120 = 'BRENT_X9', $1121 = 'BRENT_Z0', $1122 = 'BRENT_Z1', $1123 = 'BRENT_Z2', $1124 = 'BRENT_Z3', $1125 = 'BRENT_Z4', $1126 = 'BRENT_Z5', $1127 = 'BRENT_Z6', $1128 = 'BRENT_Z7', $1129 = 'BRENT_Z8', $1130 = 'BRENT_Z9', $1131 = 'Coffee_F0', $1132 = 'Coffee_F1', $1133 = 'Coffee_F2', $1134 = 'Coffee_F3', $1135 = 'Coffee_F4', $1136 = 'Coffee_F5', $1137 = 'Coffee_F6', $1138 = 'Coffee_F7', $1139 = 'Coffee_F8', $1140 = 'Coffee_F9', $1141 = 'Coffee_G0', $1142 = 'Coffee_G1', $1143 = 'Coffee_G2', $1144 = 'Coffee_G3', $1145 = 'Coffee_G4', $1146 = 'Coffee_G5', $1147 = 'Coffee_G6', $1148 = 'Coffee_G7', $1149 = 'Coffee_G8', $1150 = 'Coffee_G9', $1151 = 'Coffee_H0', $1152 = 'Coffee_H1', $1153 = 'Coffee_H2', $1154 = 'Coffee_H3', $1155 = 'Coffee_H4', $1156 = 'Coffee_H5', $1157 = 'Coffee_H6', $1158 = 'Coffee_H7', $1159 = 'Coffee_H8', $1160 = 'Coffee_H9', $1161 = 'Coffee_J0', $1162 = 'Coffee_J1', $1163 = 'Coffee_J2', $1164 = 'Coffee_J3', $1165 = 'Coffee_J4', $1166 = 'Coffee_J5', $1167 = 'Coffee_J6', $1168 = 'Coffee_J7', $1169 = 'Coffee_J8', $1170 = 'Coffee_J9', $1171 = 'Coffee_K0', $1172 = 'Coffee_K1', $1173 = 'Coffee_K2', $1174 = 'Coffee_K3', $1175 = 'Coffee_K4', $1176 = 'Coffee_K5', $1177 = 'Coffee_K6', $1178 = 'Coffee_K7', $1179 = 'Coffee_K8', $1180 = 'Coffee_K9', $1181 = 'Coffee_M0', $1182 = 'Coffee_M1', $1183 = 'Coffee_M2', $1184 = 'Coffee_M3', $1185 = 'Coffee_M4', $1186 = 'Coffee_M5', $1187 = 'Coffee_M6', $1188 = 'Coffee_M7', $1189 = 'Coffee_M8', $1190 = 'Coffee_M9', $1191 = 'Coffee_N0', $1192 = 'Coffee_N1', $1193 = 'Coffee_N2', $1194 = 'Coffee_N3', $1195 = 'Coffee_N4', $1196 = 'Coffee_N5', $1197 = 'Coffee_N6', $1198 = 'Coffee_N7', $1199 = 'Coffee_N8', $1200 = 'Coffee_N9', $1201 = 'Coffee_Q0', $1202 = 'Coffee_Q1', $1203 = 'Coffee_Q2', $1204 = 'Coffee_Q3', $1205 = 'Coffee_Q4', $1206 = 'Coffee_Q5', $1207 = 'Coffee_Q6', $1208 = 'Coffee_Q7', $1209 = 'Coffee_Q8', $1210 = 'Coffee_Q9', $1211 = 'Coffee_U0', $1212 = 'Coffee_U1', $1213 = 'Coffee_U2', $1214 = 'Coffee_U3', $1215 = 'Coffee_U4', $1216 = 'Coffee_U5', $1217 = 'Coffee_U6', $1218 = 'Coffee_U7', $1219 = 'Coffee_U8', $1220 = 'Coffee_U9', $1221 = 'Coffee_V0', $1222 = 'Coffee_V1', $1223 = 'Coffee_V2', $1224 = 'Coffee_V3', $1225 = 'Coffee_V4', $1226 = 'Coffee_V5', $1227 = 'Coffee_V6', $1228 = 'Coffee_V7', $1229 = 'Coffee_V8', $1230 = 'Coffee_V9', $1231 = 'Coffee_X0', $1232 = 'Coffee_X1', $1233 = 'Coffee_X2', $1234 = 'Coffee_X3', $1235 = 'Coffee_X4', $1236 = 'Coffee_X5', $1237 = 'Coffee_X6', $1238 = 'Coffee_X7', $1239 = 'Coffee_X8', $1240 = 'Coffee_X9', $1241 = 'Coffee_Z0', $1242 = 'Coffee_Z1', $1243 = 'Coffee_Z2', $1244 = 'Coffee_Z3', $1245 = 'Coffee_Z4', $1246 = 'Coffee_Z5', $1247 = 'Coffee_Z6', $1248 = 'Coffee_Z7', $1249 = 'Coffee_Z8', $1250 = 'Coffee_Z9', $1251 = 'Corn_F0', $1252 = 'Corn_F1', $1253 = 'Corn_F2', $1254 = 'Corn_F3', $1255 = 'Corn_F4', $1256 = 'Corn_F5', $1257 = 'Corn_F6', $1258 = 'Corn_F7', $1259 = 'Corn_F8', $1260 = 'Corn_F9', $1261 = 'Corn_G0', $1262 = 'Corn_G1', $1263 = 'Corn_G2', $1264 = 'Corn_G3', $1265 = 'Corn_G4', $1266 = 'Corn_G5', $1267 = 'Corn_G6', $1268 = 'Corn_G7', $1269 = 'Corn_G8', $1270 = 'Corn_G9', $1271 = 'Corn_H0', $1272 = 'Corn_H1', $1273 = 'Corn_H2', $1274 = 'Corn_H3', $1275 = 'Corn_H4', $1276 = 'Corn_H5', $1277 = 'Corn_H6', $1278 = 'Corn_H7', $1279 = 'Corn_H8', $1280 = 'Corn_H9', $1281 = 'Corn_J0', $1282 = 'Corn_J1', $1283 = 'Corn_J2', $1284 = 'Corn_J3', $1285 = 'Corn_J4', $1286 = 'Corn_J5', $1287 = 'Corn_J6', $1288 = 'Corn_J7', $1289 = 'Corn_J8', $1290 = 'Corn_J9', $1291 = 'Corn_K0', $1292 = 'Corn_K1', $1293 = 'Corn_K2', $1294 = 'Corn_K3', $1295 = 'Corn_K4', $1296 = 'Corn_K5', $1297 = 'Corn_K6', $1298 = 'Corn_K7', $1299 = 'Corn_K8', $1300 = 'Corn_K9', $1301 = 'Corn_M0', $1302 = 'Corn_M1', $1303 = 'Corn_M2', $1304 = 'Corn_M3', $1305 = 'Corn_M4', $1306 = 'Corn_M5', $1307 = 'Corn_M6', $1308 = 'Corn_M7', $1309 = 'Corn_M8', $1310 = 'Corn_M9', $1311 = 'Corn_N0', $1312 = 'Corn_N1', $1313 = 'Corn_N2', $1314 = 'Corn_N3', $1315 = 'Corn_N4', $1316 = 'Corn_N5', $1317 = 'Corn_N6', $1318 = 'Corn_N7', $1319 = 'Corn_N8', $1320 = 'Corn_N9', $1321 = 'Corn_Q0', $1322 = 'Corn_Q1', $1323 = 'Corn_Q2', $1324 = 'Corn_Q3', $1325 = 'Corn_Q4', $1326 = 'Corn_Q5', $1327 = 'Corn_Q6', $1328 = 'Corn_Q7', $1329 = 'Corn_Q8', $1330 = 'Corn_Q9', $1331 = 'Corn_U0', $1332 = 'Corn_U1', $1333 = 'Corn_U2', $1334 = 'Corn_U3', $1335 = 'Corn_U4', $1336 = 'Corn_U5', $1337 = 'Corn_U6', $1338 = 'Corn_U7', $1339 = 'Corn_U8', $1340 = 'Corn_U9', $1341 = 'Corn_V0', $1342 = 'Corn_V1', $1343 = 'Corn_V2', $1344 = 'Corn_V3', $1345 = 'Corn_V4', $1346 = 'Corn_V5', $1347 = 'Corn_V6', $1348 = 'Corn_V7', $1349 = 'Corn_V8', $1350 = 'Corn_V9', $1351 = 'Corn_X0', $1352 = 'Corn_X1', $1353 = 'Corn_X2', $1354 = 'Corn_X3', $1355 = 'Corn_X4', $1356 = 'Corn_X5', $1357 = 'Corn_X6', $1358 = 'Corn_X7', $1359 = 'Corn_X8', $1360 = 'Corn_X9', $1361 = 'Corn_Z0', $1362 = 'Corn_Z1', $1363 = 'Corn_Z2', $1364 = 'Corn_Z3', $1365 = 'Corn_Z4', $1366 = 'Corn_Z5', $1367 = 'Corn_Z6', $1368 = 'Corn_Z7', $1369 = 'Corn_Z8', $1370 = 'Corn_Z9', $1371 = 'Soybean_F0', $1372 = 'Soybean_F1', $1373 = 'Soybean_F2', $1374 = 'Soybean_F3', $1375 = 'Soybean_F4', $1376 = 'Soybean_F5', $1377 = 'Soybean_F6', $1378 = 'Soybean_F7', $1379 = 'Soybean_F8', $1380 = 'Soybean_F9', $1381 = 'Soybean_G0', $1382 = 'Soybean_G1', $1383 = 'Soybean_G2', $1384 = 'Soybean_G3', $1385 = 'Soybean_G4', $1386 = 'Soybean_G5', $1387 = 'Soybean_G6', $1388 = 'Soybean_G7', $1389 = 'Soybean_G8', $1390 = 'Soybean_G9', $1391 = 'Soybean_H0', $1392 = 'Soybean_H1', $1393 = 'Soybean_H2', $1394 = 'Soybean_H3', $1395 = 'Soybean_H4', $1396 = 'Soybean_H5', $1397 = 'Soybean_H6', $1398 = 'Soybean_H7', $1399 = 'Soybean_H8', $1400 = 'Soybean_H9', $1401 = 'Soybean_J0', $1402 = 'Soybean_J1', $1403 = 'Soybean_J2', $1404 = 'Soybean_J3', $1405 = 'Soybean_J4', $1406 = 'Soybean_J5', $1407 = 'Soybean_J6', $1408 = 'Soybean_J7', $1409 = 'Soybean_J8', $1410 = 'Soybean_J9', $1411 = 'Soybean_K0', $1412 = 'Soybean_K1', $1413 = 'Soybean_K2', $1414 = 'Soybean_K3', $1415 = 'Soybean_K4', $1416 = 'Soybean_K5', $1417 = 'Soybean_K6', $1418 = 'Soybean_K7', $1419 = 'Soybean_K8', $1420 = 'Soybean_K9', $1421 = 'Soybean_M0', $1422 = 'Soybean_M1', $1423 = 'Soybean_M2', $1424 = 'Soybean_M3', $1425 = 'Soybean_M4', $1426 = 'Soybean_M5', $1427 = 'Soybean_M6', $1428 = 'Soybean_M7', $1429 = 'Soybean_M8', $1430 = 'Soybean_M9', $1431 = 'Soybean_N0', $1432 = 'Soybean_N1', $1433 = 'Soybean_N2', $1434 = 'Soybean_N3', $1435 = 'Soybean_N4', $1436 = 'Soybean_N5', $1437 = 'Soybean_N6', $1438 = 'Soybean_N7', $1439 = 'Soybean_N8', $1440 = 'Soybean_N9', $1441 = 'Soybean_Q0', $1442 = 'Soybean_Q1', $1443 = 'Soybean_Q2', $1444 = 'Soybean_Q3', $1445 = 'Soybean_Q4', $1446 = 'Soybean_Q5', $1447 = 'Soybean_Q6', $1448 = 'Soybean_Q7', $1449 = 'Soybean_Q8', $1450 = 'Soybean_Q9', $1451 = 'Soybean_U0', $1452 = 'Soybean_U1', $1453 = 'Soybean_U2', $1454 = 'Soybean_U3', $1455 = 'Soybean_U4', $1456 = 'Soybean_U5', $1457 = 'Soybean_U6', $1458 = 'Soybean_U7', $1459 = 'Soybean_U8', $1460 = 'Soybean_U9', $1461 = 'Soybean_V0', $1462 = 'Soybean_V1', $1463 = 'Soybean_V2', $1464 = 'Soybean_V3', $1465 = 'Soybean_V4', $1466 = 'Soybean_V5', $1467 = 'Soybean_V6', $1468 = 'Soybean_V7', $1469 = 'Soybean_V8', $1470 = 'Soybean_V9', $1471 = 'Soybean_X0', $1472 = 'Soybean_X1', $1473 = 'Soybean_X2', $1474 = 'Soybean_X3', $1475 = 'Soybean_X4', $1476 = 'Soybean_X5', $1477 = 'Soybean_X6', $1478 = 'Soybean_X7', $1479 = 'Soybean_X8', $1480 = 'Soybean_X9', $1481 = 'Soybean_Z0', $1482 = 'Soybean_Z1', $1483 = 'Soybean_Z2', $1484 = 'Soybean_Z3', $1485 = 'Soybean_Z4', $1486 = 'Soybean_Z5', $1487 = 'Soybean_Z6', $1488 = 'Soybean_Z7', $1489 = 'Soybean_Z8', $1490 = 'Soybean_Z9', $1491 = 'Sugar_F0', $1492 = 'Sugar_F1', $1493 = 'Sugar_F2', $1494 = 'Sugar_F3', $1495 = 'Sugar_F4', $1496 = 'Sugar_F5', $1497 = 'Sugar_F6', $1498 = 'Sugar_F7', $1499 = 'Sugar_F8', $1500 = 'Sugar_F9', $1501 = 'Sugar_G0', $1502 = 'Sugar_G1', $1503 = 'Sugar_G2', $1504 = 'Sugar_G3', $1505 = 'Sugar_G4', $1506 = 'Sugar_G5', $1507 = 'Sugar_G6', $1508 = 'Sugar_G7', $1509 = 'Sugar_G8', $1510 = 'Sugar_G9', $1511 = 'Sugar_H0', $1512 = 'Sugar_H1', $1513 = 'Sugar_H2', $1514 = 'Sugar_H3', $1515 = 'Sugar_H4', $1516 = 'Sugar_H5', $1517 = 'Sugar_H6', $1518 = 'Sugar_H7', $1519 = 'Sugar_H8', $1520 = 'Sugar_H9', $1521 = 'Sugar_J0', $1522 = 'Sugar_J1', $1523 = 'Sugar_J2', $1524 = 'Sugar_J3', $1525 = 'Sugar_J4', $1526 = 'Sugar_J5', $1527 = 'Sugar_J6', $1528 = 'Sugar_J7', $1529 = 'Sugar_J8', $1530 = 'Sugar_J9', $1531 = 'Sugar_K0', $1532 = 'Sugar_K1', $1533 = 'Sugar_K2', $1534 = 'Sugar_K3', $1535 = 'Sugar_K4', $1536 = 'Sugar_K5', $1537 = 'Sugar_K6', $1538 = 'Sugar_K7', $1539 = 'Sugar_K8', $1540 = 'Sugar_K9', $1541 = 'Sugar_M0', $1542 = 'Sugar_M1', $1543 = 'Sugar_M2', $1544 = 'Sugar_M3', $1545 = 'Sugar_M4', $1546 = 'Sugar_M5', $1547 = 'Sugar_M6', $1548 = 'Sugar_M7', $1549 = 'Sugar_M8', $1550 = 'Sugar_M9', $1551 = 'Sugar_N0', $1552 = 'Sugar_N1', $1553 = 'Sugar_N2', $1554 = 'Sugar_N3', $1555 = 'Sugar_N4', $1556 = 'Sugar_N5', $1557 = 'Sugar_N6', $1558 = 'Sugar_N7', $1559 = 'Sugar_N8', $1560 = 'Sugar_N9', $1561 = 'Sugar_Q0', $1562 = 'Sugar_Q1', $1563 = 'Sugar_Q2', $1564 = 'Sugar_Q3', $1565 = 'Sugar_Q4', $1566 = 'Sugar_Q5', $1567 = 'Sugar_Q6', $1568 = 'Sugar_Q7', $1569 = 'Sugar_Q8', $1570 = 'Sugar_Q9', $1571 = 'Sugar_U0', $1572 = 'Sugar_U1', $1573 = 'Sugar_U2', $1574 = 'Sugar_U3', $1575 = 'Sugar_U4', $1576 = 'Sugar_U5', $1577 = 'Sugar_U6', $1578 = 'Sugar_U7', $1579 = 'Sugar_U8', $1580 = 'Sugar_U9', $1581 = 'Sugar_V0', $1582 = 'Sugar_V1', $1583 = 'Sugar_V2', $1584 = 'Sugar_V3', $1585 = 'Sugar_V4', $1586 = 'Sugar_V5', $1587 = 'Sugar_V6', $1588 = 'Sugar_V7', $1589 = 'Sugar_V8', $1590 = 'Sugar_V9', $1591 = 'Sugar_X0', $1592 = 'Sugar_X1', $1593 = 'Sugar_X2', $1594 = 'Sugar_X3', $1595 = 'Sugar_X4', $1596 = 'Sugar_X5', $1597 = 'Sugar_X6', $1598 = 'Sugar_X7', $1599 = 'Sugar_X8', $1600 = 'Sugar_X9', $1601 = 'Sugar_Z0', $1602 = 'Sugar_Z1', $1603 = 'Sugar_Z2', $1604 = 'Sugar_Z3', $1605 = 'Sugar_Z4', $1606 = 'Sugar_Z5', $1607 = 'Sugar_Z6', $1608 = 'Sugar_Z7', $1609 = 'Sugar_Z8', $1610 = 'Sugar_Z9', $1611 = 'Wheat_F0', $1612 = 'Wheat_F1', $1613 = 'Wheat_F2', $1614 = 'Wheat_F3', $1615 = 'Wheat_F4', $1616 = 'Wheat_F5', $1617 = 'Wheat_F6', $1618 = 'Wheat_F7', $1619 = 'Wheat_F8', $1620 = 'Wheat_F9', $1621 = 'Wheat_G0', $1622 = 'Wheat_G1', $1623 = 'Wheat_G2', $1624 = 'Wheat_G3', $1625 = 'Wheat_G4', $1626 = 'Wheat_G5', $1627 = 'Wheat_G6', $1628 = 'Wheat_G7', $1629 = 'Wheat_G8', $1630 = 'Wheat_G9', $1631 = 'Wheat_H0', $1632 = 'Wheat_H1', $1633 = 'Wheat_H2', $1634 = 'Wheat_H3', $1635 = 'Wheat_H4', $1636 = 'Wheat_H5', $1637 = 'Wheat_H6', $1638 = 'Wheat_H7', $1639 = 'Wheat_H8', $1640 = 'Wheat_H9', $1641 = 'Wheat_J0', $1642 = 'Wheat_J1', $1643 = 'Wheat_J2', $1644 = 'Wheat_J3', $1645 = 'Wheat_J4', $1646 = 'Wheat_J5', $1647 = 'Wheat_J6', $1648 = 'Wheat_J7', $1649 = 'Wheat_J8', $1650 = 'Wheat_J9', $1651 = 'Wheat_K0', $1652 = 'Wheat_K1', $1653 = 'Wheat_K2', $1654 = 'Wheat_K3', $1655 = 'Wheat_K4', $1656 = 'Wheat_K5', $1657 = 'Wheat_K6', $1658 = 'Wheat_K7', $1659 = 'Wheat_K8', $1660 = 'Wheat_K9', $1661 = 'Wheat_M0', $1662 = 'Wheat_M1', $1663 = 'Wheat_M2', $1664 = 'Wheat_M3', $1665 = 'Wheat_M4', $1666 = 'Wheat_M5', $1667 = 'Wheat_M6', $1668 = 'Wheat_M7', $1669 = 'Wheat_M8', $1670 = 'Wheat_M9', $1671 = 'Wheat_N0', $1672 = 'Wheat_N1', $1673 = 'Wheat_N2', $1674 = 'Wheat_N3', $1675 = 'Wheat_N4', $1676 = 'Wheat_N5', $1677 = 'Wheat_N6', $1678 = 'Wheat_N7', $1679 = 'Wheat_N8', $1680 = 'Wheat_N9', $1681 = 'Wheat_Q0', $1682 = 'Wheat_Q1', $1683 = 'Wheat_Q2', $1684 = 'Wheat_Q3', $1685 = 'Wheat_Q4', $1686 = 'Wheat_Q5', $1687 = 'Wheat_Q6', $1688 = 'Wheat_Q7', $1689 = 'Wheat_Q8', $1690 = 'Wheat_Q9', $1691 = 'Wheat_U0', $1692 = 'Wheat_U1', $1693 = 'Wheat_U2', $1694 = 'Wheat_U3', $1695 = 'Wheat_U4', $1696 = 'Wheat_U5', $1697 = 'Wheat_U6', $1698 = 'Wheat_U7', $1699 = 'Wheat_U8', $1700 = 'Wheat_U9', $1701 = 'Wheat_V0', $1702 = 'Wheat_V1', $1703 = 'Wheat_V2', $1704 = 'Wheat_V3', $1705 = 'Wheat_V4', $1706 = 'Wheat_V5', $1707 = 'Wheat_V6', $1708 = 'Wheat_V7', $1709 = 'Wheat_V8', $1710 = 'Wheat_V9', $1711 = 'Wheat_X0', $1712 = 'Wheat_X1', $1713 = 'Wheat_X2', $1714 = 'Wheat_X3', $1715 = 'Wheat_X4', $1716 = 'Wheat_X5', $1717 = 'Wheat_X6', $1718 = 'Wheat_X7', $1719 = 'Wheat_X8', $1720 = 'Wheat_X9', $1721 = 'Wheat_Z0', $1722 = 'Wheat_Z1', $1723 = 'Wheat_Z2', $1724 = 'Wheat_Z3', $1725 = 'Wheat_Z4', $1726 = 'Wheat_Z5', $1727 = 'Wheat_Z6', $1728 = 'Wheat_Z7', $1729 = 'Wheat_Z8', $1730 = 'Wheat_Z9', $1731 = 'WTI_F0', $1732 = 'WTI_F1', $1733 = 'WTI_F2', $1734 = 'WTI_F3', $1735 = 'WTI_F4', $1736 = 'WTI_F5', $1737 = 'WTI_F6', $1738 = 'WTI_F7', $1739 = 'WTI_F8', $1740 = 'WTI_F9', $1741 = 'WTI_G0', $1742 = 'WTI_G1', $1743 = 'WTI_G2', $1744 = 'WTI_G3', $1745 = 'WTI_G4', $1746 = 'WTI_G5', $1747 = 'WTI_G6', $1748 = 'WTI_G7', $1749 = 'WTI_G8', $1750 = 'WTI_G9', $1751 = 'WTI_H0', $1752 = 'WTI_H1', $1753 = 'WTI_H2', $1754 = 'WTI_H3', $1755 = 'WTI_H4', $1756 = 'WTI_H5', $1757 = 'WTI_H6', $1758 = 'WTI_H7', $1759 = 'WTI_H8', $1760 = 'WTI_H9', $1761 = 'WTI_J0', $1762 = 'WTI_J1', $1763 = 'WTI_J2', $1764 = 'WTI_J3', $1765 = 'WTI_J4', $1766 = 'WTI_J5', $1767 = 'WTI_J6', $1768 = 'WTI_J7', $1769 = 'WTI_J8', $1770 = 'WTI_J9', $1771 = 'WTI_K0', $1772 = 'WTI_K1', $1773 = 'WTI_K2', $1774 = 'WTI_K3', $1775 = 'WTI_K4', $1776 = 'WTI_K5', $1777 = 'WTI_K6', $1778 = 'WTI_K7', $1779 = 'WTI_K8', $1780 = 'WTI_K9', $1781 = 'WTI_M0', $1782 = 'WTI_M1', $1783 = 'WTI_M2', $1784 = 'WTI_M3', $1785 = 'WTI_M4', $1786 = 'WTI_M5', $1787 = 'WTI_M6', $1788 = 'WTI_M7', $1789 = 'WTI_M8', $1790 = 'WTI_M9', $1791 = 'WTI_N0', $1792 = 'WTI_N1', $1793 = 'WTI_N2', $1794 = 'WTI_N3', $1795 = 'WTI_N4', $1796 = 'WTI_N5', $1797 = 'WTI_N6', $1798 = 'WTI_N7', $1799 = 'WTI_N8', $1800 = 'WTI_N9', $1801 = 'WTI_Q0', $1802 = 'WTI_Q1', $1803 = 'WTI_Q2', $1804 = 'WTI_Q3', $1805 = 'WTI_Q4', $1806 = 'WTI_Q5', $1807 = 'WTI_Q6', $1808 = 'WTI_Q7', $1809 = 'WTI_Q8', $1810 = 'WTI_Q9', $1811 = 'WTI_U0', $1812 = 'WTI_U1', $1813 = 'WTI_U2', $1814 = 'WTI_U3', $1815 = 'WTI_U4', $1816 = 'WTI_U5', $1817 = 'WTI_U6', $1818 = 'WTI_U7', $1819 = 'WTI_U8', $1820 = 'WTI_U9', $1821 = 'WTI_V0', $1822 = 'WTI_V1', $1823 = 'WTI_V2', $1824 = 'WTI_V3', $1825 = 'WTI_V4', $1826 = 'WTI_V5', $1827 = 'WTI_V6', $1828 = 'WTI_V7', $1829 = 'WTI_V8', $1830 = 'WTI_V9', $1831 = 'WTI_X0', $1832 = 'WTI_X1', $1833 = 'WTI_X2', $1834 = 'WTI_X3', $1835 = 'WTI_X4', $1836 = 'WTI_X5', $1837 = 'WTI_X6', $1838 = 'WTI_X7', $1839 = 'WTI_X8', $1840 = 'WTI_X9', $1841 = 'WTI_Z0', $1842 = 'WTI_Z1', $1843 = 'WTI_Z2', $1844 = 'WTI_Z3', $1845 = 'WTI_Z4', $1846 = 'WTI_Z5', $1847 = 'WTI_Z6', $1848 = 'WTI_Z7', $1849 = 'WTI_Z8', $1850 = 'WTI_Z9', $1851 = '5'
-
WITH pre_symbols AS ( /* find relevant symbols */ ;
Date: 2026-01-15 13:15:00 Duration: 18ms Database: postgres parameters: $1 = '972', $2 = 'ICMARKETS-AU-MT5', $3 = 'AUDSGD', $4 = 'CHFSGD', $5 = 'EURDKK', $6 = 'EURHKD', $7 = 'EURNOK', $8 = 'EURPLN', $9 = 'EURSEK', $10 = 'EURSGD', $11 = 'EURTRY', $12 = 'EURZAR', $13 = 'GBPDKK', $14 = 'GBPNOK', $15 = 'GBPSEK', $16 = 'GBPSGD', $17 = 'NOKJPY', $18 = 'NOKSEK', $19 = 'SEKJPY', $20 = 'SGDJPY', $21 = 'USDCNH', $22 = 'USDCZK', $23 = 'USDDKK', $24 = 'USDHKD', $25 = 'USDHUF', $26 = 'USDMXN', $27 = 'USDNOK', $28 = 'USDPLN', $29 = 'USDRUB', $30 = 'USDSEK', $31 = 'USDTHB', $32 = 'USDTRY', $33 = 'USDZAR', $34 = 'AUDUSD', $35 = 'EURUSD', $36 = 'GBPUSD', $37 = 'USDCAD', $38 = 'USDCHF', $39 = 'USDJPY', $40 = 'AUDCAD', $41 = 'AUDCHF', $42 = 'AUDJPY', $43 = 'AUDNZD', $44 = 'CADCHF', $45 = 'CADJPY', $46 = 'CHFJPY', $47 = 'EURAUD', $48 = 'EURCAD', $49 = 'EURCHF', $50 = 'EURGBP', $51 = 'EURJPY', $52 = 'EURNZD', $53 = 'GBPAUD', $54 = 'GBPCAD', $55 = 'GBPCHF', $56 = 'GBPJPY', $57 = 'GBPNZD', $58 = 'NZDCAD', $59 = 'NZDCHF', $60 = 'NZDJPY', $61 = 'NZDUSD', $62 = 'USDSGD', $63 = 'AUS200', $64 = 'CHINA50', $65 = 'DE30', $66 = 'ES35', $67 = 'F40', $68 = 'HK50', $69 = 'IT40', $70 = 'JP225', $71 = 'STOXX50', $72 = 'UK100', $73 = 'US2000', $74 = 'US30', $75 = 'US500', $76 = 'USTEC', $77 = 'XAGEUR', $78 = 'XAGUSD', $79 = 'XAUEUR', $80 = 'XAUUSD', $81 = 'XPDUSD', $82 = 'XPTUSD', $83 = 'XBRUSD', $84 = 'XNGUSD', $85 = 'XTIUSD', $86 = 'BTCUSD', $87 = 'BRENT_F0', $88 = 'BRENT_F1', $89 = 'BRENT_F2', $90 = 'BRENT_F3', $91 = 'BRENT_F4', $92 = 'BRENT_F5', $93 = 'BRENT_F6', $94 = 'BRENT_F7', $95 = 'BRENT_F8', $96 = 'BRENT_F9', $97 = 'BRENT_G0', $98 = 'BRENT_G1', $99 = 'BRENT_G2', $100 = 'BRENT_G3', $101 = 'BRENT_G4', $102 = 'BRENT_G5', $103 = 'BRENT_G6', $104 = 'BRENT_G7', $105 = 'BRENT_G8', $106 = 'BRENT_G9', $107 = 'BRENT_H0', $108 = 'BRENT_H1', $109 = 'BRENT_H2', $110 = 'BRENT_H3', $111 = 'BRENT_H4', $112 = 'BRENT_H5', $113 = 'BRENT_H6', $114 = 'BRENT_H7', $115 = 'BRENT_H8', $116 = 'BRENT_H9', $117 = 'BRENT_J0', $118 = 'BRENT_J1', $119 = 'BRENT_J2', $120 = 'BRENT_J3', $121 = 'BRENT_J4', $122 = 'BRENT_J5', $123 = 'BRENT_J6', $124 = 'BRENT_J7', $125 = 'BRENT_J8', $126 = 'BRENT_J9', $127 = 'BRENT_K0', $128 = 'BRENT_K1', $129 = 'BRENT_K2', $130 = 'BRENT_K3', $131 = 'BRENT_K4', $132 = 'BRENT_K5', $133 = 'BRENT_K6', $134 = 'BRENT_K7', $135 = 'BRENT_K8', $136 = 'BRENT_K9', $137 = 'BRENT_M0', $138 = 'BRENT_M1', $139 = 'BRENT_M2', $140 = 'BRENT_M3', $141 = 'BRENT_M4', $142 = 'BRENT_M5', $143 = 'BRENT_M6', $144 = 'BRENT_M7', $145 = 'BRENT_M8', $146 = 'BRENT_M9', $147 = 'BRENT_N0', $148 = 'BRENT_N1', $149 = 'BRENT_N2', $150 = 'BRENT_N3', $151 = 'BRENT_N4', $152 = 'BRENT_N5', $153 = 'BRENT_N6', $154 = 'BRENT_N7', $155 = 'BRENT_N8', $156 = 'BRENT_N9', $157 = 'BRENT_Q0', $158 = 'BRENT_Q1', $159 = 'BRENT_Q2', $160 = 'BRENT_Q3', $161 = 'BRENT_Q4', $162 = 'BRENT_Q5', $163 = 'BRENT_Q6', $164 = 'BRENT_Q7', $165 = 'BRENT_Q8', $166 = 'BRENT_Q9', $167 = 'BRENT_U0', $168 = 'BRENT_U1', $169 = 'BRENT_U2', $170 = 'BRENT_U3', $171 = 'BRENT_U4', $172 = 'BRENT_U5', $173 = 'BRENT_U6', $174 = 'BRENT_U7', $175 = 'BRENT_U8', $176 = 'BRENT_U9', $177 = 'BRENT_V0', $178 = 'BRENT_V1', $179 = 'BRENT_V2', $180 = 'BRENT_V3', $181 = 'BRENT_V4', $182 = 'BRENT_V5', $183 = 'BRENT_V6', $184 = 'BRENT_V7', $185 = 'BRENT_V8', $186 = 'BRENT_V9', $187 = 'BRENT_X0', $188 = 'BRENT_X1', $189 = 'BRENT_X2', $190 = 'BRENT_X3', $191 = 'BRENT_X4', $192 = 'BRENT_X5', $193 = 'BRENT_X6', $194 = 'BRENT_X7', $195 = 'BRENT_X8', $196 = 'BRENT_X9', $197 = 'BRENT_Z0', $198 = 'BRENT_Z1', $199 = 'BRENT_Z2', $200 = 'BRENT_Z3', $201 = 'BRENT_Z4', $202 = 'BRENT_Z5', $203 = 'BRENT_Z6', $204 = 'BRENT_Z7', $205 = 'BRENT_Z8', $206 = 'BRENT_Z9', $207 = 'Coffee_F0', $208 = 'Coffee_F1', $209 = 'Coffee_F2', $210 = 'Coffee_F3', $211 = 'Coffee_F4', $212 = 'Coffee_F5', $213 = 'Coffee_F6', $214 = 'Coffee_F7', $215 = 'Coffee_F8', $216 = 'Coffee_F9', $217 = 'Coffee_G0', $218 = 'Coffee_G1', $219 = 'Coffee_G2', $220 = 'Coffee_G3', $221 = 'Coffee_G4', $222 = 'Coffee_G5', $223 = 'Coffee_G6', $224 = 'Coffee_G7', $225 = 'Coffee_G8', $226 = 'Coffee_G9', $227 = 'Coffee_H0', $228 = 'Coffee_H1', $229 = 'Coffee_H2', $230 = 'Coffee_H3', $231 = 'Coffee_H4', $232 = 'Coffee_H5', $233 = 'Coffee_H6', $234 = 'Coffee_H7', $235 = 'Coffee_H8', $236 = 'Coffee_H9', $237 = 'Coffee_J0', $238 = 'Coffee_J1', $239 = 'Coffee_J2', $240 = 'Coffee_J3', $241 = 'Coffee_J4', $242 = 'Coffee_J5', $243 = 'Coffee_J6', $244 = 'Coffee_J7', $245 = 'Coffee_J8', $246 = 'Coffee_J9', $247 = 'Coffee_K0', $248 = 'Coffee_K1', $249 = 'Coffee_K2', $250 = 'Coffee_K3', $251 = 'Coffee_K4', $252 = 'Coffee_K5', $253 = 'Coffee_K6', $254 = 'Coffee_K7', $255 = 'Coffee_K8', $256 = 'Coffee_K9', $257 = 'Coffee_M0', $258 = 'Coffee_M1', $259 = 'Coffee_M2', $260 = 'Coffee_M3', $261 = 'Coffee_M4', $262 = 'Coffee_M5', $263 = 'Coffee_M6', $264 = 'Coffee_M7', $265 = 'Coffee_M8', $266 = 'Coffee_M9', $267 = 'Coffee_N0', $268 = 'Coffee_N1', $269 = 'Coffee_N2', $270 = 'Coffee_N3', $271 = 'Coffee_N4', $272 = 'Coffee_N5', $273 = 'Coffee_N6', $274 = 'Coffee_N7', $275 = 'Coffee_N8', $276 = 'Coffee_N9', $277 = 'Coffee_Q0', $278 = 'Coffee_Q1', $279 = 'Coffee_Q2', $280 = 'Coffee_Q3', $281 = 'Coffee_Q4', $282 = 'Coffee_Q5', $283 = 'Coffee_Q6', $284 = 'Coffee_Q7', $285 = 'Coffee_Q8', $286 = 'Coffee_Q9', $287 = 'Coffee_U0', $288 = 'Coffee_U1', $289 = 'Coffee_U2', $290 = 'Coffee_U3', $291 = 'Coffee_U4', $292 = 'Coffee_U5', $293 = 'Coffee_U6', $294 = 'Coffee_U7', $295 = 'Coffee_U8', $296 = 'Coffee_U9', $297 = 'Coffee_V0', $298 = 'Coffee_V1', $299 = 'Coffee_V2', $300 = 'Coffee_V3', $301 = 'Coffee_V4', $302 = 'Coffee_V5', $303 = 'Coffee_V6', $304 = 'Coffee_V7', $305 = 'Coffee_V8', $306 = 'Coffee_V9', $307 = 'Coffee_X0', $308 = 'Coffee_X1', $309 = 'Coffee_X2', $310 = 'Coffee_X3', $311 = 'Coffee_X4', $312 = 'Coffee_X5', $313 = 'Coffee_X6', $314 = 'Coffee_X7', $315 = 'Coffee_X8', $316 = 'Coffee_X9', $317 = 'Coffee_Z0', $318 = 'Coffee_Z1', $319 = 'Coffee_Z2', $320 = 'Coffee_Z3', $321 = 'Coffee_Z4', $322 = 'Coffee_Z5', $323 = 'Coffee_Z6', $324 = 'Coffee_Z7', $325 = 'Coffee_Z8', $326 = 'Coffee_Z9', $327 = 'Corn_F0', $328 = 'Corn_F1', $329 = 'Corn_F2', $330 = 'Corn_F3', $331 = 'Corn_F4', $332 = 'Corn_F5', $333 = 'Corn_F6', $334 = 'Corn_F7', $335 = 'Corn_F8', $336 = 'Corn_F9', $337 = 'Corn_G0', $338 = 'Corn_G1', $339 = 'Corn_G2', $340 = 'Corn_G3', $341 = 'Corn_G4', $342 = 'Corn_G5', $343 = 'Corn_G6', $344 = 'Corn_G7', $345 = 'Corn_G8', $346 = 'Corn_G9', $347 = 'Corn_H0', $348 = 'Corn_H1', $349 = 'Corn_H2', $350 = 'Corn_H3', $351 = 'Corn_H4', $352 = 'Corn_H5', $353 = 'Corn_H6', $354 = 'Corn_H7', $355 = 'Corn_H8', $356 = 'Corn_H9', $357 = 'Corn_J0', $358 = 'Corn_J1', $359 = 'Corn_J2', $360 = 'Corn_J3', $361 = 'Corn_J4', $362 = 'Corn_J5', $363 = 'Corn_J6', $364 = 'Corn_J7', $365 = 'Corn_J8', $366 = 'Corn_J9', $367 = 'Corn_K0', $368 = 'Corn_K1', $369 = 'Corn_K2', $370 = 'Corn_K3', $371 = 'Corn_K4', $372 = 'Corn_K5', $373 = 'Corn_K6', $374 = 'Corn_K7', $375 = 'Corn_K8', $376 = 'Corn_K9', $377 = 'Corn_M0', $378 = 'Corn_M1', $379 = 'Corn_M2', $380 = 'Corn_M3', $381 = 'Corn_M4', $382 = 'Corn_M5', $383 = 'Corn_M6', $384 = 'Corn_M7', $385 = 'Corn_M8', $386 = 'Corn_M9', $387 = 'Corn_N0', $388 = 'Corn_N1', $389 = 'Corn_N2', $390 = 'Corn_N3', $391 = 'Corn_N4', $392 = 'Corn_N5', $393 = 'Corn_N6', $394 = 'Corn_N7', $395 = 'Corn_N8', $396 = 'Corn_N9', $397 = 'Corn_Q0', $398 = 'Corn_Q1', $399 = 'Corn_Q2', $400 = 'Corn_Q3', $401 = 'Corn_Q4', $402 = 'Corn_Q5', $403 = 'Corn_Q6', $404 = 'Corn_Q7', $405 = 'Corn_Q8', $406 = 'Corn_Q9', $407 = 'Corn_U0', $408 = 'Corn_U1', $409 = 'Corn_U2', $410 = 'Corn_U3', $411 = 'Corn_U4', $412 = 'Corn_U5', $413 = 'Corn_U6', $414 = 'Corn_U7', $415 = 'Corn_U8', $416 = 'Corn_U9', $417 = 'Corn_V0', $418 = 'Corn_V1', $419 = 'Corn_V2', $420 = 'Corn_V3', $421 = 'Corn_V4', $422 = 'Corn_V5', $423 = 'Corn_V6', $424 = 'Corn_V7', $425 = 'Corn_V8', $426 = 'Corn_V9', $427 = 'Corn_X0', $428 = 'Corn_X1', $429 = 'Corn_X2', $430 = 'Corn_X3', $431 = 'Corn_X4', $432 = 'Corn_X5', $433 = 'Corn_X6', $434 = 'Corn_X7', $435 = 'Corn_X8', $436 = 'Corn_X9', $437 = 'Corn_Z0', $438 = 'Corn_Z1', $439 = 'Corn_Z2', $440 = 'Corn_Z3', $441 = 'Corn_Z4', $442 = 'Corn_Z5', $443 = 'Corn_Z6', $444 = 'Corn_Z7', $445 = 'Corn_Z8', $446 = 'Corn_Z9', $447 = 'Soybean_F0', $448 = 'Soybean_F1', $449 = 'Soybean_F2', $450 = 'Soybean_F3', $451 = 'Soybean_F4', $452 = 'Soybean_F5', $453 = 'Soybean_F6', $454 = 'Soybean_F7', $455 = 'Soybean_F8', $456 = 'Soybean_F9', $457 = 'Soybean_G0', $458 = 'Soybean_G1', $459 = 'Soybean_G2', $460 = 'Soybean_G3', $461 = 'Soybean_G4', $462 = 'Soybean_G5', $463 = 'Soybean_G6', $464 = 'Soybean_G7', $465 = 'Soybean_G8', $466 = 'Soybean_G9', $467 = 'Soybean_H0', $468 = 'Soybean_H1', $469 = 'Soybean_H2', $470 = 'Soybean_H3', $471 = 'Soybean_H4', $472 = 'Soybean_H5', $473 = 'Soybean_H6', $474 = 'Soybean_H7', $475 = 'Soybean_H8', $476 = 'Soybean_H9', $477 = 'Soybean_J0', $478 = 'Soybean_J1', $479 = 'Soybean_J2', $480 = 'Soybean_J3', $481 = 'Soybean_J4', $482 = 'Soybean_J5', $483 = 'Soybean_J6', $484 = 'Soybean_J7', $485 = 'Soybean_J8', $486 = 'Soybean_J9', $487 = 'Soybean_K0', $488 = 'Soybean_K1', $489 = 'Soybean_K2', $490 = 'Soybean_K3', $491 = 'Soybean_K4', $492 = 'Soybean_K5', $493 = 'Soybean_K6', $494 = 'Soybean_K7', $495 = 'Soybean_K8', $496 = 'Soybean_K9', $497 = 'Soybean_M0', $498 = 'Soybean_M1', $499 = 'Soybean_M2', $500 = 'Soybean_M3', $501 = 'Soybean_M4', $502 = 'Soybean_M5', $503 = 'Soybean_M6', $504 = 'Soybean_M7', $505 = 'Soybean_M8', $506 = 'Soybean_M9', $507 = 'Soybean_N0', $508 = 'Soybean_N1', $509 = 'Soybean_N2', $510 = 'Soybean_N3', $511 = 'Soybean_N4', $512 = 'Soybean_N5', $513 = 'Soybean_N6', $514 = 'Soybean_N7', $515 = 'Soybean_N8', $516 = 'Soybean_N9', $517 = 'Soybean_Q0', $518 = 'Soybean_Q1', $519 = 'Soybean_Q2', $520 = 'Soybean_Q3', $521 = 'Soybean_Q4', $522 = 'Soybean_Q5', $523 = 'Soybean_Q6', $524 = 'Soybean_Q7', $525 = 'Soybean_Q8', $526 = 'Soybean_Q9', $527 = 'Soybean_U0', $528 = 'Soybean_U1', $529 = 'Soybean_U2', $530 = 'Soybean_U3', $531 = 'Soybean_U4', $532 = 'Soybean_U5', $533 = 'Soybean_U6', $534 = 'Soybean_U7', $535 = 'Soybean_U8', $536 = 'Soybean_U9', $537 = 'Soybean_V0', $538 = 'Soybean_V1', $539 = 'Soybean_V2', $540 = 'Soybean_V3', $541 = 'Soybean_V4', $542 = 'Soybean_V5', $543 = 'Soybean_V6', $544 = 'Soybean_V7', $545 = 'Soybean_V8', $546 = 'Soybean_V9', $547 = 'Soybean_X0', $548 = 'Soybean_X1', $549 = 'Soybean_X2', $550 = 'Soybean_X3', $551 = 'Soybean_X4', $552 = 'Soybean_X5', $553 = 'Soybean_X6', $554 = 'Soybean_X7', $555 = 'Soybean_X8', $556 = 'Soybean_X9', $557 = 'Soybean_Z0', $558 = 'Soybean_Z1', $559 = 'Soybean_Z2', $560 = 'Soybean_Z3', $561 = 'Soybean_Z4', $562 = 'Soybean_Z5', $563 = 'Soybean_Z6', $564 = 'Soybean_Z7', $565 = 'Soybean_Z8', $566 = 'Soybean_Z9', $567 = 'Sugar_F0', $568 = 'Sugar_F1', $569 = 'Sugar_F2', $570 = 'Sugar_F3', $571 = 'Sugar_F4', $572 = 'Sugar_F5', $573 = 'Sugar_F6', $574 = 'Sugar_F7', $575 = 'Sugar_F8', $576 = 'Sugar_F9', $577 = 'Sugar_G0', $578 = 'Sugar_G1', $579 = 'Sugar_G2', $580 = 'Sugar_G3', $581 = 'Sugar_G4', $582 = 'Sugar_G5', $583 = 'Sugar_G6', $584 = 'Sugar_G7', $585 = 'Sugar_G8', $586 = 'Sugar_G9', $587 = 'Sugar_H0', $588 = 'Sugar_H1', $589 = 'Sugar_H2', $590 = 'Sugar_H3', $591 = 'Sugar_H4', $592 = 'Sugar_H5', $593 = 'Sugar_H6', $594 = 'Sugar_H7', $595 = 'Sugar_H8', $596 = 'Sugar_H9', $597 = 'Sugar_J0', $598 = 'Sugar_J1', $599 = 'Sugar_J2', $600 = 'Sugar_J3', $601 = 'Sugar_J4', $602 = 'Sugar_J5', $603 = 'Sugar_J6', $604 = 'Sugar_J7', $605 = 'Sugar_J8', $606 = 'Sugar_J9', $607 = 'Sugar_K0', $608 = 'Sugar_K1', $609 = 'Sugar_K2', $610 = 'Sugar_K3', $611 = 'Sugar_K4', $612 = 'Sugar_K5', $613 = 'Sugar_K6', $614 = 'Sugar_K7', $615 = 'Sugar_K8', $616 = 'Sugar_K9', $617 = 'Sugar_M0', $618 = 'Sugar_M1', $619 = 'Sugar_M2', $620 = 'Sugar_M3', $621 = 'Sugar_M4', $622 = 'Sugar_M5', $623 = 'Sugar_M6', $624 = 'Sugar_M7', $625 = 'Sugar_M8', $626 = 'Sugar_M9', $627 = 'Sugar_N0', $628 = 'Sugar_N1', $629 = 'Sugar_N2', $630 = 'Sugar_N3', $631 = 'Sugar_N4', $632 = 'Sugar_N5', $633 = 'Sugar_N6', $634 = 'Sugar_N7', $635 = 'Sugar_N8', $636 = 'Sugar_N9', $637 = 'Sugar_Q0', $638 = 'Sugar_Q1', $639 = 'Sugar_Q2', $640 = 'Sugar_Q3', $641 = 'Sugar_Q4', $642 = 'Sugar_Q5', $643 = 'Sugar_Q6', $644 = 'Sugar_Q7', $645 = 'Sugar_Q8', $646 = 'Sugar_Q9', $647 = 'Sugar_U0', $648 = 'Sugar_U1', $649 = 'Sugar_U2', $650 = 'Sugar_U3', $651 = 'Sugar_U4', $652 = 'Sugar_U5', $653 = 'Sugar_U6', $654 = 'Sugar_U7', $655 = 'Sugar_U8', $656 = 'Sugar_U9', $657 = 'Sugar_V0', $658 = 'Sugar_V1', $659 = 'Sugar_V2', $660 = 'Sugar_V3', $661 = 'Sugar_V4', $662 = 'Sugar_V5', $663 = 'Sugar_V6', $664 = 'Sugar_V7', $665 = 'Sugar_V8', $666 = 'Sugar_V9', $667 = 'Sugar_X0', $668 = 'Sugar_X1', $669 = 'Sugar_X2', $670 = 'Sugar_X3', $671 = 'Sugar_X4', $672 = 'Sugar_X5', $673 = 'Sugar_X6', $674 = 'Sugar_X7', $675 = 'Sugar_X8', $676 = 'Sugar_X9', $677 = 'Sugar_Z0', $678 = 'Sugar_Z1', $679 = 'Sugar_Z2', $680 = 'Sugar_Z3', $681 = 'Sugar_Z4', $682 = 'Sugar_Z5', $683 = 'Sugar_Z6', $684 = 'Sugar_Z7', $685 = 'Sugar_Z8', $686 = 'Sugar_Z9', $687 = 'Wheat_F0', $688 = 'Wheat_F1', $689 = 'Wheat_F2', $690 = 'Wheat_F3', $691 = 'Wheat_F4', $692 = 'Wheat_F5', $693 = 'Wheat_F6', $694 = 'Wheat_F7', $695 = 'Wheat_F8', $696 = 'Wheat_F9', $697 = 'Wheat_G0', $698 = 'Wheat_G1', $699 = 'Wheat_G2', $700 = 'Wheat_G3', $701 = 'Wheat_G4', $702 = 'Wheat_G5', $703 = 'Wheat_G6', $704 = 'Wheat_G7', $705 = 'Wheat_G8', $706 = 'Wheat_G9', $707 = 'Wheat_H0', $708 = 'Wheat_H1', $709 = 'Wheat_H2', $710 = 'Wheat_H3', $711 = 'Wheat_H4', $712 = 'Wheat_H5', $713 = 'Wheat_H6', $714 = 'Wheat_H7', $715 = 'Wheat_H8', $716 = 'Wheat_H9', $717 = 'Wheat_J0', $718 = 'Wheat_J1', $719 = 'Wheat_J2', $720 = 'Wheat_J3', $721 = 'Wheat_J4', $722 = 'Wheat_J5', $723 = 'Wheat_J6', $724 = 'Wheat_J7', $725 = 'Wheat_J8', $726 = 'Wheat_J9', $727 = 'Wheat_K0', $728 = 'Wheat_K1', $729 = 'Wheat_K2', $730 = 'Wheat_K3', $731 = 'Wheat_K4', $732 = 'Wheat_K5', $733 = 'Wheat_K6', $734 = 'Wheat_K7', $735 = 'Wheat_K8', $736 = 'Wheat_K9', $737 = 'Wheat_M0', $738 = 'Wheat_M1', $739 = 'Wheat_M2', $740 = 'Wheat_M3', $741 = 'Wheat_M4', $742 = 'Wheat_M5', $743 = 'Wheat_M6', $744 = 'Wheat_M7', $745 = 'Wheat_M8', $746 = 'Wheat_M9', $747 = 'Wheat_N0', $748 = 'Wheat_N1', $749 = 'Wheat_N2', $750 = 'Wheat_N3', $751 = 'Wheat_N4', $752 = 'Wheat_N5', $753 = 'Wheat_N6', $754 = 'Wheat_N7', $755 = 'Wheat_N8', $756 = 'Wheat_N9', $757 = 'Wheat_Q0', $758 = 'Wheat_Q1', $759 = 'Wheat_Q2', $760 = 'Wheat_Q3', $761 = 'Wheat_Q4', $762 = 'Wheat_Q5', $763 = 'Wheat_Q6', $764 = 'Wheat_Q7', $765 = 'Wheat_Q8', $766 = 'Wheat_Q9', $767 = 'Wheat_U0', $768 = 'Wheat_U1', $769 = 'Wheat_U2', $770 = 'Wheat_U3', $771 = 'Wheat_U4', $772 = 'Wheat_U5', $773 = 'Wheat_U6', $774 = 'Wheat_U7', $775 = 'Wheat_U8', $776 = 'Wheat_U9', $777 = 'Wheat_V0', $778 = 'Wheat_V1', $779 = 'Wheat_V2', $780 = 'Wheat_V3', $781 = 'Wheat_V4', $782 = 'Wheat_V5', $783 = 'Wheat_V6', $784 = 'Wheat_V7', $785 = 'Wheat_V8', $786 = 'Wheat_V9', $787 = 'Wheat_X0', $788 = 'Wheat_X1', $789 = 'Wheat_X2', $790 = 'Wheat_X3', $791 = 'Wheat_X4', $792 = 'Wheat_X5', $793 = 'Wheat_X6', $794 = 'Wheat_X7', $795 = 'Wheat_X8', $796 = 'Wheat_X9', $797 = 'Wheat_Z0', $798 = 'Wheat_Z1', $799 = 'Wheat_Z2', $800 = 'Wheat_Z3', $801 = 'Wheat_Z4', $802 = 'Wheat_Z5', $803 = 'Wheat_Z6', $804 = 'Wheat_Z7', $805 = 'Wheat_Z8', $806 = 'Wheat_Z9', $807 = 'WTI_F0', $808 = 'WTI_F1', $809 = 'WTI_F2', $810 = 'WTI_F3', $811 = 'WTI_F4', $812 = 'WTI_F5', $813 = 'WTI_F6', $814 = 'WTI_F7', $815 = 'WTI_F8', $816 = 'WTI_F9', $817 = 'WTI_G0', $818 = 'WTI_G1', $819 = 'WTI_G2', $820 = 'WTI_G3', $821 = 'WTI_G4', $822 = 'WTI_G5', $823 = 'WTI_G6', $824 = 'WTI_G7', $825 = 'WTI_G8', $826 = 'WTI_G9', $827 = 'WTI_H0', $828 = 'WTI_H1', $829 = 'WTI_H2', $830 = 'WTI_H3', $831 = 'WTI_H4', $832 = 'WTI_H5', $833 = 'WTI_H6', $834 = 'WTI_H7', $835 = 'WTI_H8', $836 = 'WTI_H9', $837 = 'WTI_J0', $838 = 'WTI_J1', $839 = 'WTI_J2', $840 = 'WTI_J3', $841 = 'WTI_J4', $842 = 'WTI_J5', $843 = 'WTI_J6', $844 = 'WTI_J7', $845 = 'WTI_J8', $846 = 'WTI_J9', $847 = 'WTI_K0', $848 = 'WTI_K1', $849 = 'WTI_K2', $850 = 'WTI_K3', $851 = 'WTI_K4', $852 = 'WTI_K5', $853 = 'WTI_K6', $854 = 'WTI_K7', $855 = 'WTI_K8', $856 = 'WTI_K9', $857 = 'WTI_M0', $858 = 'WTI_M1', $859 = 'WTI_M2', $860 = 'WTI_M3', $861 = 'WTI_M4', $862 = 'WTI_M5', $863 = 'WTI_M6', $864 = 'WTI_M7', $865 = 'WTI_M8', $866 = 'WTI_M9', $867 = 'WTI_N0', $868 = 'WTI_N1', $869 = 'WTI_N2', $870 = 'WTI_N3', $871 = 'WTI_N4', $872 = 'WTI_N5', $873 = 'WTI_N6', $874 = 'WTI_N7', $875 = 'WTI_N8', $876 = 'WTI_N9', $877 = 'WTI_Q0', $878 = 'WTI_Q1', $879 = 'WTI_Q2', $880 = 'WTI_Q3', $881 = 'WTI_Q4', $882 = 'WTI_Q5', $883 = 'WTI_Q6', $884 = 'WTI_Q7', $885 = 'WTI_Q8', $886 = 'WTI_Q9', $887 = 'WTI_U0', $888 = 'WTI_U1', $889 = 'WTI_U2', $890 = 'WTI_U3', $891 = 'WTI_U4', $892 = 'WTI_U5', $893 = 'WTI_U6', $894 = 'WTI_U7', $895 = 'WTI_U8', $896 = 'WTI_U9', $897 = 'WTI_V0', $898 = 'WTI_V1', $899 = 'WTI_V2', $900 = 'WTI_V3', $901 = 'WTI_V4', $902 = 'WTI_V5', $903 = 'WTI_V6', $904 = 'WTI_V7', $905 = 'WTI_V8', $906 = 'WTI_V9', $907 = 'WTI_X0', $908 = 'WTI_X1', $909 = 'WTI_X2', $910 = 'WTI_X3', $911 = 'WTI_X4', $912 = 'WTI_X5', $913 = 'WTI_X6', $914 = 'WTI_X7', $915 = 'WTI_X8', $916 = 'WTI_X9', $917 = 'WTI_Z0', $918 = 'WTI_Z1', $919 = 'WTI_Z2', $920 = 'WTI_Z3', $921 = 'WTI_Z4', $922 = 'WTI_Z5', $923 = 'WTI_Z6', $924 = 'WTI_Z7', $925 = 'WTI_Z8', $926 = 'WTI_Z9', $927 = 'AUDSGD', $928 = 'CHFSGD', $929 = 'EURDKK', $930 = 'EURHKD', $931 = 'EURNOK', $932 = 'EURPLN', $933 = 'EURSEK', $934 = 'EURSGD', $935 = 'EURTRY', $936 = 'EURZAR', $937 = 'GBPDKK', $938 = 'GBPNOK', $939 = 'GBPSEK', $940 = 'GBPSGD', $941 = 'NOKJPY', $942 = 'NOKSEK', $943 = 'SEKJPY', $944 = 'SGDJPY', $945 = 'USDCNH', $946 = 'USDCZK', $947 = 'USDDKK', $948 = 'USDHKD', $949 = 'USDHUF', $950 = 'USDMXN', $951 = 'USDNOK', $952 = 'USDPLN', $953 = 'USDRUB', $954 = 'USDSEK', $955 = 'USDTHB', $956 = 'USDTRY', $957 = 'USDZAR', $958 = 'AUDUSD', $959 = 'EURUSD', $960 = 'GBPUSD', $961 = 'USDCAD', $962 = 'USDCHF', $963 = 'USDJPY', $964 = 'AUDCAD', $965 = 'AUDCHF', $966 = 'AUDJPY', $967 = 'AUDNZD', $968 = 'CADCHF', $969 = 'CADJPY', $970 = 'CHFJPY', $971 = 'EURAUD', $972 = 'EURCAD', $973 = 'EURCHF', $974 = 'EURGBP', $975 = 'EURJPY', $976 = 'EURNZD', $977 = 'GBPAUD', $978 = 'GBPCAD', $979 = 'GBPCHF', $980 = 'GBPJPY', $981 = 'GBPNZD', $982 = 'NZDCAD', $983 = 'NZDCHF', $984 = 'NZDJPY', $985 = 'NZDUSD', $986 = 'USDSGD', $987 = 'AUS200', $988 = 'CHINA50', $989 = 'DE30', $990 = 'ES35', $991 = 'F40', $992 = 'HK50', $993 = 'IT40', $994 = 'JP225', $995 = 'STOXX50', $996 = 'UK100', $997 = 'US2000', $998 = 'US30', $999 = 'US500', $1000 = 'USTEC', $1001 = 'XAGEUR', $1002 = 'XAGUSD', $1003 = 'XAUEUR', $1004 = 'XAUUSD', $1005 = 'XPDUSD', $1006 = 'XPTUSD', $1007 = 'XBRUSD', $1008 = 'XNGUSD', $1009 = 'XTIUSD', $1010 = 'BTCUSD', $1011 = 'BRENT_F0', $1012 = 'BRENT_F1', $1013 = 'BRENT_F2', $1014 = 'BRENT_F3', $1015 = 'BRENT_F4', $1016 = 'BRENT_F5', $1017 = 'BRENT_F6', $1018 = 'BRENT_F7', $1019 = 'BRENT_F8', $1020 = 'BRENT_F9', $1021 = 'BRENT_G0', $1022 = 'BRENT_G1', $1023 = 'BRENT_G2', $1024 = 'BRENT_G3', $1025 = 'BRENT_G4', $1026 = 'BRENT_G5', $1027 = 'BRENT_G6', $1028 = 'BRENT_G7', $1029 = 'BRENT_G8', $1030 = 'BRENT_G9', $1031 = 'BRENT_H0', $1032 = 'BRENT_H1', $1033 = 'BRENT_H2', $1034 = 'BRENT_H3', $1035 = 'BRENT_H4', $1036 = 'BRENT_H5', $1037 = 'BRENT_H6', $1038 = 'BRENT_H7', $1039 = 'BRENT_H8', $1040 = 'BRENT_H9', $1041 = 'BRENT_J0', $1042 = 'BRENT_J1', $1043 = 'BRENT_J2', $1044 = 'BRENT_J3', $1045 = 'BRENT_J4', $1046 = 'BRENT_J5', $1047 = 'BRENT_J6', $1048 = 'BRENT_J7', $1049 = 'BRENT_J8', $1050 = 'BRENT_J9', $1051 = 'BRENT_K0', $1052 = 'BRENT_K1', $1053 = 'BRENT_K2', $1054 = 'BRENT_K3', $1055 = 'BRENT_K4', $1056 = 'BRENT_K5', $1057 = 'BRENT_K6', $1058 = 'BRENT_K7', $1059 = 'BRENT_K8', $1060 = 'BRENT_K9', $1061 = 'BRENT_M0', $1062 = 'BRENT_M1', $1063 = 'BRENT_M2', $1064 = 'BRENT_M3', $1065 = 'BRENT_M4', $1066 = 'BRENT_M5', $1067 = 'BRENT_M6', $1068 = 'BRENT_M7', $1069 = 'BRENT_M8', $1070 = 'BRENT_M9', $1071 = 'BRENT_N0', $1072 = 'BRENT_N1', $1073 = 'BRENT_N2', $1074 = 'BRENT_N3', $1075 = 'BRENT_N4', $1076 = 'BRENT_N5', $1077 = 'BRENT_N6', $1078 = 'BRENT_N7', $1079 = 'BRENT_N8', $1080 = 'BRENT_N9', $1081 = 'BRENT_Q0', $1082 = 'BRENT_Q1', $1083 = 'BRENT_Q2', $1084 = 'BRENT_Q3', $1085 = 'BRENT_Q4', $1086 = 'BRENT_Q5', $1087 = 'BRENT_Q6', $1088 = 'BRENT_Q7', $1089 = 'BRENT_Q8', $1090 = 'BRENT_Q9', $1091 = 'BRENT_U0', $1092 = 'BRENT_U1', $1093 = 'BRENT_U2', $1094 = 'BRENT_U3', $1095 = 'BRENT_U4', $1096 = 'BRENT_U5', $1097 = 'BRENT_U6', $1098 = 'BRENT_U7', $1099 = 'BRENT_U8', $1100 = 'BRENT_U9', $1101 = 'BRENT_V0', $1102 = 'BRENT_V1', $1103 = 'BRENT_V2', $1104 = 'BRENT_V3', $1105 = 'BRENT_V4', $1106 = 'BRENT_V5', $1107 = 'BRENT_V6', $1108 = 'BRENT_V7', $1109 = 'BRENT_V8', $1110 = 'BRENT_V9', $1111 = 'BRENT_X0', $1112 = 'BRENT_X1', $1113 = 'BRENT_X2', $1114 = 'BRENT_X3', $1115 = 'BRENT_X4', $1116 = 'BRENT_X5', $1117 = 'BRENT_X6', $1118 = 'BRENT_X7', $1119 = 'BRENT_X8', $1120 = 'BRENT_X9', $1121 = 'BRENT_Z0', $1122 = 'BRENT_Z1', $1123 = 'BRENT_Z2', $1124 = 'BRENT_Z3', $1125 = 'BRENT_Z4', $1126 = 'BRENT_Z5', $1127 = 'BRENT_Z6', $1128 = 'BRENT_Z7', $1129 = 'BRENT_Z8', $1130 = 'BRENT_Z9', $1131 = 'Coffee_F0', $1132 = 'Coffee_F1', $1133 = 'Coffee_F2', $1134 = 'Coffee_F3', $1135 = 'Coffee_F4', $1136 = 'Coffee_F5', $1137 = 'Coffee_F6', $1138 = 'Coffee_F7', $1139 = 'Coffee_F8', $1140 = 'Coffee_F9', $1141 = 'Coffee_G0', $1142 = 'Coffee_G1', $1143 = 'Coffee_G2', $1144 = 'Coffee_G3', $1145 = 'Coffee_G4', $1146 = 'Coffee_G5', $1147 = 'Coffee_G6', $1148 = 'Coffee_G7', $1149 = 'Coffee_G8', $1150 = 'Coffee_G9', $1151 = 'Coffee_H0', $1152 = 'Coffee_H1', $1153 = 'Coffee_H2', $1154 = 'Coffee_H3', $1155 = 'Coffee_H4', $1156 = 'Coffee_H5', $1157 = 'Coffee_H6', $1158 = 'Coffee_H7', $1159 = 'Coffee_H8', $1160 = 'Coffee_H9', $1161 = 'Coffee_J0', $1162 = 'Coffee_J1', $1163 = 'Coffee_J2', $1164 = 'Coffee_J3', $1165 = 'Coffee_J4', $1166 = 'Coffee_J5', $1167 = 'Coffee_J6', $1168 = 'Coffee_J7', $1169 = 'Coffee_J8', $1170 = 'Coffee_J9', $1171 = 'Coffee_K0', $1172 = 'Coffee_K1', $1173 = 'Coffee_K2', $1174 = 'Coffee_K3', $1175 = 'Coffee_K4', $1176 = 'Coffee_K5', $1177 = 'Coffee_K6', $1178 = 'Coffee_K7', $1179 = 'Coffee_K8', $1180 = 'Coffee_K9', $1181 = 'Coffee_M0', $1182 = 'Coffee_M1', $1183 = 'Coffee_M2', $1184 = 'Coffee_M3', $1185 = 'Coffee_M4', $1186 = 'Coffee_M5', $1187 = 'Coffee_M6', $1188 = 'Coffee_M7', $1189 = 'Coffee_M8', $1190 = 'Coffee_M9', $1191 = 'Coffee_N0', $1192 = 'Coffee_N1', $1193 = 'Coffee_N2', $1194 = 'Coffee_N3', $1195 = 'Coffee_N4', $1196 = 'Coffee_N5', $1197 = 'Coffee_N6', $1198 = 'Coffee_N7', $1199 = 'Coffee_N8', $1200 = 'Coffee_N9', $1201 = 'Coffee_Q0', $1202 = 'Coffee_Q1', $1203 = 'Coffee_Q2', $1204 = 'Coffee_Q3', $1205 = 'Coffee_Q4', $1206 = 'Coffee_Q5', $1207 = 'Coffee_Q6', $1208 = 'Coffee_Q7', $1209 = 'Coffee_Q8', $1210 = 'Coffee_Q9', $1211 = 'Coffee_U0', $1212 = 'Coffee_U1', $1213 = 'Coffee_U2', $1214 = 'Coffee_U3', $1215 = 'Coffee_U4', $1216 = 'Coffee_U5', $1217 = 'Coffee_U6', $1218 = 'Coffee_U7', $1219 = 'Coffee_U8', $1220 = 'Coffee_U9', $1221 = 'Coffee_V0', $1222 = 'Coffee_V1', $1223 = 'Coffee_V2', $1224 = 'Coffee_V3', $1225 = 'Coffee_V4', $1226 = 'Coffee_V5', $1227 = 'Coffee_V6', $1228 = 'Coffee_V7', $1229 = 'Coffee_V8', $1230 = 'Coffee_V9', $1231 = 'Coffee_X0', $1232 = 'Coffee_X1', $1233 = 'Coffee_X2', $1234 = 'Coffee_X3', $1235 = 'Coffee_X4', $1236 = 'Coffee_X5', $1237 = 'Coffee_X6', $1238 = 'Coffee_X7', $1239 = 'Coffee_X8', $1240 = 'Coffee_X9', $1241 = 'Coffee_Z0', $1242 = 'Coffee_Z1', $1243 = 'Coffee_Z2', $1244 = 'Coffee_Z3', $1245 = 'Coffee_Z4', $1246 = 'Coffee_Z5', $1247 = 'Coffee_Z6', $1248 = 'Coffee_Z7', $1249 = 'Coffee_Z8', $1250 = 'Coffee_Z9', $1251 = 'Corn_F0', $1252 = 'Corn_F1', $1253 = 'Corn_F2', $1254 = 'Corn_F3', $1255 = 'Corn_F4', $1256 = 'Corn_F5', $1257 = 'Corn_F6', $1258 = 'Corn_F7', $1259 = 'Corn_F8', $1260 = 'Corn_F9', $1261 = 'Corn_G0', $1262 = 'Corn_G1', $1263 = 'Corn_G2', $1264 = 'Corn_G3', $1265 = 'Corn_G4', $1266 = 'Corn_G5', $1267 = 'Corn_G6', $1268 = 'Corn_G7', $1269 = 'Corn_G8', $1270 = 'Corn_G9', $1271 = 'Corn_H0', $1272 = 'Corn_H1', $1273 = 'Corn_H2', $1274 = 'Corn_H3', $1275 = 'Corn_H4', $1276 = 'Corn_H5', $1277 = 'Corn_H6', $1278 = 'Corn_H7', $1279 = 'Corn_H8', $1280 = 'Corn_H9', $1281 = 'Corn_J0', $1282 = 'Corn_J1', $1283 = 'Corn_J2', $1284 = 'Corn_J3', $1285 = 'Corn_J4', $1286 = 'Corn_J5', $1287 = 'Corn_J6', $1288 = 'Corn_J7', $1289 = 'Corn_J8', $1290 = 'Corn_J9', $1291 = 'Corn_K0', $1292 = 'Corn_K1', $1293 = 'Corn_K2', $1294 = 'Corn_K3', $1295 = 'Corn_K4', $1296 = 'Corn_K5', $1297 = 'Corn_K6', $1298 = 'Corn_K7', $1299 = 'Corn_K8', $1300 = 'Corn_K9', $1301 = 'Corn_M0', $1302 = 'Corn_M1', $1303 = 'Corn_M2', $1304 = 'Corn_M3', $1305 = 'Corn_M4', $1306 = 'Corn_M5', $1307 = 'Corn_M6', $1308 = 'Corn_M7', $1309 = 'Corn_M8', $1310 = 'Corn_M9', $1311 = 'Corn_N0', $1312 = 'Corn_N1', $1313 = 'Corn_N2', $1314 = 'Corn_N3', $1315 = 'Corn_N4', $1316 = 'Corn_N5', $1317 = 'Corn_N6', $1318 = 'Corn_N7', $1319 = 'Corn_N8', $1320 = 'Corn_N9', $1321 = 'Corn_Q0', $1322 = 'Corn_Q1', $1323 = 'Corn_Q2', $1324 = 'Corn_Q3', $1325 = 'Corn_Q4', $1326 = 'Corn_Q5', $1327 = 'Corn_Q6', $1328 = 'Corn_Q7', $1329 = 'Corn_Q8', $1330 = 'Corn_Q9', $1331 = 'Corn_U0', $1332 = 'Corn_U1', $1333 = 'Corn_U2', $1334 = 'Corn_U3', $1335 = 'Corn_U4', $1336 = 'Corn_U5', $1337 = 'Corn_U6', $1338 = 'Corn_U7', $1339 = 'Corn_U8', $1340 = 'Corn_U9', $1341 = 'Corn_V0', $1342 = 'Corn_V1', $1343 = 'Corn_V2', $1344 = 'Corn_V3', $1345 = 'Corn_V4', $1346 = 'Corn_V5', $1347 = 'Corn_V6', $1348 = 'Corn_V7', $1349 = 'Corn_V8', $1350 = 'Corn_V9', $1351 = 'Corn_X0', $1352 = 'Corn_X1', $1353 = 'Corn_X2', $1354 = 'Corn_X3', $1355 = 'Corn_X4', $1356 = 'Corn_X5', $1357 = 'Corn_X6', $1358 = 'Corn_X7', $1359 = 'Corn_X8', $1360 = 'Corn_X9', $1361 = 'Corn_Z0', $1362 = 'Corn_Z1', $1363 = 'Corn_Z2', $1364 = 'Corn_Z3', $1365 = 'Corn_Z4', $1366 = 'Corn_Z5', $1367 = 'Corn_Z6', $1368 = 'Corn_Z7', $1369 = 'Corn_Z8', $1370 = 'Corn_Z9', $1371 = 'Soybean_F0', $1372 = 'Soybean_F1', $1373 = 'Soybean_F2', $1374 = 'Soybean_F3', $1375 = 'Soybean_F4', $1376 = 'Soybean_F5', $1377 = 'Soybean_F6', $1378 = 'Soybean_F7', $1379 = 'Soybean_F8', $1380 = 'Soybean_F9', $1381 = 'Soybean_G0', $1382 = 'Soybean_G1', $1383 = 'Soybean_G2', $1384 = 'Soybean_G3', $1385 = 'Soybean_G4', $1386 = 'Soybean_G5', $1387 = 'Soybean_G6', $1388 = 'Soybean_G7', $1389 = 'Soybean_G8', $1390 = 'Soybean_G9', $1391 = 'Soybean_H0', $1392 = 'Soybean_H1', $1393 = 'Soybean_H2', $1394 = 'Soybean_H3', $1395 = 'Soybean_H4', $1396 = 'Soybean_H5', $1397 = 'Soybean_H6', $1398 = 'Soybean_H7', $1399 = 'Soybean_H8', $1400 = 'Soybean_H9', $1401 = 'Soybean_J0', $1402 = 'Soybean_J1', $1403 = 'Soybean_J2', $1404 = 'Soybean_J3', $1405 = 'Soybean_J4', $1406 = 'Soybean_J5', $1407 = 'Soybean_J6', $1408 = 'Soybean_J7', $1409 = 'Soybean_J8', $1410 = 'Soybean_J9', $1411 = 'Soybean_K0', $1412 = 'Soybean_K1', $1413 = 'Soybean_K2', $1414 = 'Soybean_K3', $1415 = 'Soybean_K4', $1416 = 'Soybean_K5', $1417 = 'Soybean_K6', $1418 = 'Soybean_K7', $1419 = 'Soybean_K8', $1420 = 'Soybean_K9', $1421 = 'Soybean_M0', $1422 = 'Soybean_M1', $1423 = 'Soybean_M2', $1424 = 'Soybean_M3', $1425 = 'Soybean_M4', $1426 = 'Soybean_M5', $1427 = 'Soybean_M6', $1428 = 'Soybean_M7', $1429 = 'Soybean_M8', $1430 = 'Soybean_M9', $1431 = 'Soybean_N0', $1432 = 'Soybean_N1', $1433 = 'Soybean_N2', $1434 = 'Soybean_N3', $1435 = 'Soybean_N4', $1436 = 'Soybean_N5', $1437 = 'Soybean_N6', $1438 = 'Soybean_N7', $1439 = 'Soybean_N8', $1440 = 'Soybean_N9', $1441 = 'Soybean_Q0', $1442 = 'Soybean_Q1', $1443 = 'Soybean_Q2', $1444 = 'Soybean_Q3', $1445 = 'Soybean_Q4', $1446 = 'Soybean_Q5', $1447 = 'Soybean_Q6', $1448 = 'Soybean_Q7', $1449 = 'Soybean_Q8', $1450 = 'Soybean_Q9', $1451 = 'Soybean_U0', $1452 = 'Soybean_U1', $1453 = 'Soybean_U2', $1454 = 'Soybean_U3', $1455 = 'Soybean_U4', $1456 = 'Soybean_U5', $1457 = 'Soybean_U6', $1458 = 'Soybean_U7', $1459 = 'Soybean_U8', $1460 = 'Soybean_U9', $1461 = 'Soybean_V0', $1462 = 'Soybean_V1', $1463 = 'Soybean_V2', $1464 = 'Soybean_V3', $1465 = 'Soybean_V4', $1466 = 'Soybean_V5', $1467 = 'Soybean_V6', $1468 = 'Soybean_V7', $1469 = 'Soybean_V8', $1470 = 'Soybean_V9', $1471 = 'Soybean_X0', $1472 = 'Soybean_X1', $1473 = 'Soybean_X2', $1474 = 'Soybean_X3', $1475 = 'Soybean_X4', $1476 = 'Soybean_X5', $1477 = 'Soybean_X6', $1478 = 'Soybean_X7', $1479 = 'Soybean_X8', $1480 = 'Soybean_X9', $1481 = 'Soybean_Z0', $1482 = 'Soybean_Z1', $1483 = 'Soybean_Z2', $1484 = 'Soybean_Z3', $1485 = 'Soybean_Z4', $1486 = 'Soybean_Z5', $1487 = 'Soybean_Z6', $1488 = 'Soybean_Z7', $1489 = 'Soybean_Z8', $1490 = 'Soybean_Z9', $1491 = 'Sugar_F0', $1492 = 'Sugar_F1', $1493 = 'Sugar_F2', $1494 = 'Sugar_F3', $1495 = 'Sugar_F4', $1496 = 'Sugar_F5', $1497 = 'Sugar_F6', $1498 = 'Sugar_F7', $1499 = 'Sugar_F8', $1500 = 'Sugar_F9', $1501 = 'Sugar_G0', $1502 = 'Sugar_G1', $1503 = 'Sugar_G2', $1504 = 'Sugar_G3', $1505 = 'Sugar_G4', $1506 = 'Sugar_G5', $1507 = 'Sugar_G6', $1508 = 'Sugar_G7', $1509 = 'Sugar_G8', $1510 = 'Sugar_G9', $1511 = 'Sugar_H0', $1512 = 'Sugar_H1', $1513 = 'Sugar_H2', $1514 = 'Sugar_H3', $1515 = 'Sugar_H4', $1516 = 'Sugar_H5', $1517 = 'Sugar_H6', $1518 = 'Sugar_H7', $1519 = 'Sugar_H8', $1520 = 'Sugar_H9', $1521 = 'Sugar_J0', $1522 = 'Sugar_J1', $1523 = 'Sugar_J2', $1524 = 'Sugar_J3', $1525 = 'Sugar_J4', $1526 = 'Sugar_J5', $1527 = 'Sugar_J6', $1528 = 'Sugar_J7', $1529 = 'Sugar_J8', $1530 = 'Sugar_J9', $1531 = 'Sugar_K0', $1532 = 'Sugar_K1', $1533 = 'Sugar_K2', $1534 = 'Sugar_K3', $1535 = 'Sugar_K4', $1536 = 'Sugar_K5', $1537 = 'Sugar_K6', $1538 = 'Sugar_K7', $1539 = 'Sugar_K8', $1540 = 'Sugar_K9', $1541 = 'Sugar_M0', $1542 = 'Sugar_M1', $1543 = 'Sugar_M2', $1544 = 'Sugar_M3', $1545 = 'Sugar_M4', $1546 = 'Sugar_M5', $1547 = 'Sugar_M6', $1548 = 'Sugar_M7', $1549 = 'Sugar_M8', $1550 = 'Sugar_M9', $1551 = 'Sugar_N0', $1552 = 'Sugar_N1', $1553 = 'Sugar_N2', $1554 = 'Sugar_N3', $1555 = 'Sugar_N4', $1556 = 'Sugar_N5', $1557 = 'Sugar_N6', $1558 = 'Sugar_N7', $1559 = 'Sugar_N8', $1560 = 'Sugar_N9', $1561 = 'Sugar_Q0', $1562 = 'Sugar_Q1', $1563 = 'Sugar_Q2', $1564 = 'Sugar_Q3', $1565 = 'Sugar_Q4', $1566 = 'Sugar_Q5', $1567 = 'Sugar_Q6', $1568 = 'Sugar_Q7', $1569 = 'Sugar_Q8', $1570 = 'Sugar_Q9', $1571 = 'Sugar_U0', $1572 = 'Sugar_U1', $1573 = 'Sugar_U2', $1574 = 'Sugar_U3', $1575 = 'Sugar_U4', $1576 = 'Sugar_U5', $1577 = 'Sugar_U6', $1578 = 'Sugar_U7', $1579 = 'Sugar_U8', $1580 = 'Sugar_U9', $1581 = 'Sugar_V0', $1582 = 'Sugar_V1', $1583 = 'Sugar_V2', $1584 = 'Sugar_V3', $1585 = 'Sugar_V4', $1586 = 'Sugar_V5', $1587 = 'Sugar_V6', $1588 = 'Sugar_V7', $1589 = 'Sugar_V8', $1590 = 'Sugar_V9', $1591 = 'Sugar_X0', $1592 = 'Sugar_X1', $1593 = 'Sugar_X2', $1594 = 'Sugar_X3', $1595 = 'Sugar_X4', $1596 = 'Sugar_X5', $1597 = 'Sugar_X6', $1598 = 'Sugar_X7', $1599 = 'Sugar_X8', $1600 = 'Sugar_X9', $1601 = 'Sugar_Z0', $1602 = 'Sugar_Z1', $1603 = 'Sugar_Z2', $1604 = 'Sugar_Z3', $1605 = 'Sugar_Z4', $1606 = 'Sugar_Z5', $1607 = 'Sugar_Z6', $1608 = 'Sugar_Z7', $1609 = 'Sugar_Z8', $1610 = 'Sugar_Z9', $1611 = 'Wheat_F0', $1612 = 'Wheat_F1', $1613 = 'Wheat_F2', $1614 = 'Wheat_F3', $1615 = 'Wheat_F4', $1616 = 'Wheat_F5', $1617 = 'Wheat_F6', $1618 = 'Wheat_F7', $1619 = 'Wheat_F8', $1620 = 'Wheat_F9', $1621 = 'Wheat_G0', $1622 = 'Wheat_G1', $1623 = 'Wheat_G2', $1624 = 'Wheat_G3', $1625 = 'Wheat_G4', $1626 = 'Wheat_G5', $1627 = 'Wheat_G6', $1628 = 'Wheat_G7', $1629 = 'Wheat_G8', $1630 = 'Wheat_G9', $1631 = 'Wheat_H0', $1632 = 'Wheat_H1', $1633 = 'Wheat_H2', $1634 = 'Wheat_H3', $1635 = 'Wheat_H4', $1636 = 'Wheat_H5', $1637 = 'Wheat_H6', $1638 = 'Wheat_H7', $1639 = 'Wheat_H8', $1640 = 'Wheat_H9', $1641 = 'Wheat_J0', $1642 = 'Wheat_J1', $1643 = 'Wheat_J2', $1644 = 'Wheat_J3', $1645 = 'Wheat_J4', $1646 = 'Wheat_J5', $1647 = 'Wheat_J6', $1648 = 'Wheat_J7', $1649 = 'Wheat_J8', $1650 = 'Wheat_J9', $1651 = 'Wheat_K0', $1652 = 'Wheat_K1', $1653 = 'Wheat_K2', $1654 = 'Wheat_K3', $1655 = 'Wheat_K4', $1656 = 'Wheat_K5', $1657 = 'Wheat_K6', $1658 = 'Wheat_K7', $1659 = 'Wheat_K8', $1660 = 'Wheat_K9', $1661 = 'Wheat_M0', $1662 = 'Wheat_M1', $1663 = 'Wheat_M2', $1664 = 'Wheat_M3', $1665 = 'Wheat_M4', $1666 = 'Wheat_M5', $1667 = 'Wheat_M6', $1668 = 'Wheat_M7', $1669 = 'Wheat_M8', $1670 = 'Wheat_M9', $1671 = 'Wheat_N0', $1672 = 'Wheat_N1', $1673 = 'Wheat_N2', $1674 = 'Wheat_N3', $1675 = 'Wheat_N4', $1676 = 'Wheat_N5', $1677 = 'Wheat_N6', $1678 = 'Wheat_N7', $1679 = 'Wheat_N8', $1680 = 'Wheat_N9', $1681 = 'Wheat_Q0', $1682 = 'Wheat_Q1', $1683 = 'Wheat_Q2', $1684 = 'Wheat_Q3', $1685 = 'Wheat_Q4', $1686 = 'Wheat_Q5', $1687 = 'Wheat_Q6', $1688 = 'Wheat_Q7', $1689 = 'Wheat_Q8', $1690 = 'Wheat_Q9', $1691 = 'Wheat_U0', $1692 = 'Wheat_U1', $1693 = 'Wheat_U2', $1694 = 'Wheat_U3', $1695 = 'Wheat_U4', $1696 = 'Wheat_U5', $1697 = 'Wheat_U6', $1698 = 'Wheat_U7', $1699 = 'Wheat_U8', $1700 = 'Wheat_U9', $1701 = 'Wheat_V0', $1702 = 'Wheat_V1', $1703 = 'Wheat_V2', $1704 = 'Wheat_V3', $1705 = 'Wheat_V4', $1706 = 'Wheat_V5', $1707 = 'Wheat_V6', $1708 = 'Wheat_V7', $1709 = 'Wheat_V8', $1710 = 'Wheat_V9', $1711 = 'Wheat_X0', $1712 = 'Wheat_X1', $1713 = 'Wheat_X2', $1714 = 'Wheat_X3', $1715 = 'Wheat_X4', $1716 = 'Wheat_X5', $1717 = 'Wheat_X6', $1718 = 'Wheat_X7', $1719 = 'Wheat_X8', $1720 = 'Wheat_X9', $1721 = 'Wheat_Z0', $1722 = 'Wheat_Z1', $1723 = 'Wheat_Z2', $1724 = 'Wheat_Z3', $1725 = 'Wheat_Z4', $1726 = 'Wheat_Z5', $1727 = 'Wheat_Z6', $1728 = 'Wheat_Z7', $1729 = 'Wheat_Z8', $1730 = 'Wheat_Z9', $1731 = 'WTI_F0', $1732 = 'WTI_F1', $1733 = 'WTI_F2', $1734 = 'WTI_F3', $1735 = 'WTI_F4', $1736 = 'WTI_F5', $1737 = 'WTI_F6', $1738 = 'WTI_F7', $1739 = 'WTI_F8', $1740 = 'WTI_F9', $1741 = 'WTI_G0', $1742 = 'WTI_G1', $1743 = 'WTI_G2', $1744 = 'WTI_G3', $1745 = 'WTI_G4', $1746 = 'WTI_G5', $1747 = 'WTI_G6', $1748 = 'WTI_G7', $1749 = 'WTI_G8', $1750 = 'WTI_G9', $1751 = 'WTI_H0', $1752 = 'WTI_H1', $1753 = 'WTI_H2', $1754 = 'WTI_H3', $1755 = 'WTI_H4', $1756 = 'WTI_H5', $1757 = 'WTI_H6', $1758 = 'WTI_H7', $1759 = 'WTI_H8', $1760 = 'WTI_H9', $1761 = 'WTI_J0', $1762 = 'WTI_J1', $1763 = 'WTI_J2', $1764 = 'WTI_J3', $1765 = 'WTI_J4', $1766 = 'WTI_J5', $1767 = 'WTI_J6', $1768 = 'WTI_J7', $1769 = 'WTI_J8', $1770 = 'WTI_J9', $1771 = 'WTI_K0', $1772 = 'WTI_K1', $1773 = 'WTI_K2', $1774 = 'WTI_K3', $1775 = 'WTI_K4', $1776 = 'WTI_K5', $1777 = 'WTI_K6', $1778 = 'WTI_K7', $1779 = 'WTI_K8', $1780 = 'WTI_K9', $1781 = 'WTI_M0', $1782 = 'WTI_M1', $1783 = 'WTI_M2', $1784 = 'WTI_M3', $1785 = 'WTI_M4', $1786 = 'WTI_M5', $1787 = 'WTI_M6', $1788 = 'WTI_M7', $1789 = 'WTI_M8', $1790 = 'WTI_M9', $1791 = 'WTI_N0', $1792 = 'WTI_N1', $1793 = 'WTI_N2', $1794 = 'WTI_N3', $1795 = 'WTI_N4', $1796 = 'WTI_N5', $1797 = 'WTI_N6', $1798 = 'WTI_N7', $1799 = 'WTI_N8', $1800 = 'WTI_N9', $1801 = 'WTI_Q0', $1802 = 'WTI_Q1', $1803 = 'WTI_Q2', $1804 = 'WTI_Q3', $1805 = 'WTI_Q4', $1806 = 'WTI_Q5', $1807 = 'WTI_Q6', $1808 = 'WTI_Q7', $1809 = 'WTI_Q8', $1810 = 'WTI_Q9', $1811 = 'WTI_U0', $1812 = 'WTI_U1', $1813 = 'WTI_U2', $1814 = 'WTI_U3', $1815 = 'WTI_U4', $1816 = 'WTI_U5', $1817 = 'WTI_U6', $1818 = 'WTI_U7', $1819 = 'WTI_U8', $1820 = 'WTI_U9', $1821 = 'WTI_V0', $1822 = 'WTI_V1', $1823 = 'WTI_V2', $1824 = 'WTI_V3', $1825 = 'WTI_V4', $1826 = 'WTI_V5', $1827 = 'WTI_V6', $1828 = 'WTI_V7', $1829 = 'WTI_V8', $1830 = 'WTI_V9', $1831 = 'WTI_X0', $1832 = 'WTI_X1', $1833 = 'WTI_X2', $1834 = 'WTI_X3', $1835 = 'WTI_X4', $1836 = 'WTI_X5', $1837 = 'WTI_X6', $1838 = 'WTI_X7', $1839 = 'WTI_X8', $1840 = 'WTI_X9', $1841 = 'WTI_Z0', $1842 = 'WTI_Z1', $1843 = 'WTI_Z2', $1844 = 'WTI_Z3', $1845 = 'WTI_Z4', $1846 = 'WTI_Z5', $1847 = 'WTI_Z6', $1848 = 'WTI_Z7', $1849 = 'WTI_Z8', $1850 = 'WTI_Z9', $1851 = '5'
11 283ms 6,032 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 13 6,032 283ms 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-15 13:16:04 Duration: 0ms Database: postgres parameters: $1 = '2026-01-15 12:45:00', $2 = '8861.15', $3 = '8861.15', $4 = '8854.15', $5 = '8854.15', $6 = '32', $7 = '500991628265645200', $8 = '0', $9 = '2026-01-15 13:16:04.602', $10 = '2026-01-15 13:16:04.283', $11 = '8861.15', $12 = '8861.15', $13 = '8854.15', $14 = '8854.15', $15 = '32', $16 = '0', $17 = '2026-01-15 13:16:04.602', $18 = '2026-01-15 13:16:04.283'
-
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-15 13:31:45 Duration: 0ms Database: postgres parameters: $1 = '2026-01-15 14:15:00', $2 = '0.866785', $3 = '0.86683', $4 = '0.86662', $5 = '0.866755', $6 = '385', $7 = '515840249376228300', $8 = '0', $9 = '2026-01-15 13:31:45.178', $10 = '2026-01-15 13:31:44.971', $11 = '0.866785', $12 = '0.86683', $13 = '0.86662', $14 = '0.866755', $15 = '385', $16 = '0', $17 = '2026-01-15 13:31:45.178', $18 = '2026-01-15 13:31:44.971'
-
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-15 13:31:16 Duration: 0ms Database: postgres parameters: $1 = '2026-01-15 13:15:00', $2 = '17.06', $3 = '17.1', $4 = '17.04', $5 = '17.07', $6 = '57', $7 = '515840246011462300', $8 = '0', $9 = '2026-01-15 13:31:16.67', $10 = '2026-01-15 13:31:16.571', $11 = '17.06', $12 = '17.1', $13 = '17.04', $14 = '17.07', $15 = '57', $16 = '0', $17 = '2026-01-15 13:31:16.67', $18 = '2026-01-15 13:31:16.571'
12 264ms 3,362 0ms 1ms 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 #12
Day Hour Count Duration Avg duration 13 3,362 264ms 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-15 13:30:55 Duration: 1ms Database: postgres parameters: $1 = '2026-01-15 13:00:00', $2 = '0.575095', $3 = '0.575175', $4 = '0.57472', $5 = '0.57483', $6 = '1059', $7 = '515840230543033300', $8 = '0', $9 = '2026-01-15 13:30:55.465', $10 = '2026-01-15 13:30:55.464', $11 = '0.575095', $12 = '0.575175', $13 = '0.57472', $14 = '0.57483', $15 = '1059', $16 = '0', $17 = '2026-01-15 13:30:55.465', $18 = '2026-01-15 13:30:55.464'
-
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-15 13:00:58 Duration: 0ms Database: postgres parameters: $1 = '2026-01-15 12:30:00', $2 = '184.4035', $3 = '184.4345', $4 = '184.3555', $5 = '184.3905', $6 = '3524', $7 = '515840230416033300', $8 = '0', $9 = '2026-01-15 13:00:58.593', $10 = '2026-01-15 13:00:58.565', $11 = '184.4035', $12 = '184.4345', $13 = '184.3555', $14 = '184.3905', $15 = '3524', $16 = '0', $17 = '2026-01-15 13:00:58.593', $18 = '2026-01-15 13:00:58.565'
-
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-15 13:00:02 Duration: 0ms Database: postgres parameters: $1 = '2026-01-15 12:30:00', $2 = '0.53606', $3 = '0.53623', $4 = '0.53593', $5 = '0.53606', $6 = '2639', $7 = '500991627551328200', $8 = '0', $9 = '2026-01-15 13:00:02.96', $10 = '2026-01-15 13:00:02.944', $11 = '0.53606', $12 = '0.53623', $13 = '0.53593', $14 = '0.53606', $15 = '2639', $16 = '0', $17 = '2026-01-15 13:00:02.96', $18 = '2026-01-15 13:00:02.944'
13 215ms 30 0ms 19ms 7ms WITH /*Latest.JapSticks*/ all_results AS ( SELECT ;Times Reported Time consuming bind #13
Day Hour Count Duration Avg duration 13 30 215ms 7ms -
WITH /*Latest.JapSticks*/ all_results AS ( SELECT ;
Date: 2026-01-15 13:46:07 Duration: 19ms Database: postgres parameters: $1 = '667', $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-15 13:21:12 Duration: 18ms Database: postgres parameters: $1 = '667', $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-15 13:38:36 Duration: 13ms Database: postgres parameters: $1 = '689', $2 = '0', $3 = '0', $4 = '0', $5 = '', $6 = '0', $7 = '', $8 = '0', $9 = '', $10 = '0', $11 = '0'
14 185ms 2,133 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 #14
Day Hour Count Duration Avg duration 13 2,133 185ms 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-15 13:00:52 Duration: 0ms Database: postgres parameters: $1 = '2026-01-14 22:00:00', $2 = '308.04', $3 = '309.13', $4 = '307.195', $5 = '308.62', $6 = '1652', $7 = '515840249429919300', $8 = '0', $9 = '2026-01-15 13:00:52.247', $10 = '2026-01-15 13:00:52.246', $11 = '308.04', $12 = '309.13', $13 = '307.195', $14 = '308.62', $15 = '1652', $16 = '0', $17 = '2026-01-15 13:00:52.247', $18 = '2026-01-15 13:00:52.246'
-
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-15 13:00:57 Duration: 0ms Database: postgres parameters: $1 = '2026-01-15 13:00:00', $2 = '8.625e-06', $3 = '8.63e-06', $4 = '8.57e-06', $5 = '8.585e-06', $6 = '308', $7 = '515840249472436300', $8 = '0', $9 = '2026-01-15 13:00:57.96', $10 = '2026-01-15 13:00:57.959', $11 = '8.625e-06', $12 = '8.63e-06', $13 = '8.57e-06', $14 = '8.585e-06', $15 = '308', $16 = '0', $17 = '2026-01-15 13:00:57.96', $18 = '2026-01-15 13:00:57.959'
-
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-15 13:01:40 Duration: 0ms Database: postgres parameters: $1 = '2026-01-15 12:00:00', $2 = '8854.8', $3 = '8862.8', $4 = '8854.8', $5 = '8860.8', $6 = '213', $7 = '515840233373828300', $8 = '0', $9 = '2026-01-15 13:01:40.12', $10 = '2026-01-15 13:01:40.119', $11 = '8854.8', $12 = '8862.8', $13 = '8854.8', $14 = '8860.8', $15 = '213', $16 = '0', $17 = '2026-01-15 13:01:40.12', $18 = '2026-01-15 13:01:40.119'
15 74ms 80 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 #15
Day Hour Count Duration Avg duration 13 80 74ms 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-15 13:46:05 Duration: 1ms Database: postgres parameters: $1 = '538', $2 = 'XAUUSDc', $3 = '538'
-
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-15 13:16:30 Duration: 1ms Database: postgres parameters: $1 = '558', $2 = 'GBPCHF', $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-15 13:46:05 Duration: 1ms Database: postgres parameters: $1 = '538', $2 = 'XAUUSDc', $3 = '538'
16 54ms 13 3ms 7ms 4ms SELECT DISTINCT ON (basegroupname, symbol) ;Times Reported Time consuming bind #16
Day Hour Count Duration Avg duration 13 13 54ms 4ms -
SELECT DISTINCT ON (basegroupname, symbol) ;
Date: 2026-01-15 13:46:00 Duration: 7ms Database: postgres parameters: $1 = '667', $2 = '667'
-
SELECT DISTINCT ON (basegroupname, symbol) ;
Date: 2026-01-15 13:22:08 Duration: 6ms Database: postgres parameters: $1 = '667', $2 = '667'
-
SELECT DISTINCT ON (basegroupname, symbol) ;
Date: 2026-01-15 13:36:08 Duration: 5ms Database: postgres parameters: $1 = '627', $2 = '627'
17 47ms 10,409 0ms 0ms 0ms SET extra_float_digits = 3;Times Reported Time consuming bind #17
Day Hour Count Duration Avg duration 13 10,409 47ms 0ms -
SET extra_float_digits = 3;
Date: 2026-01-15 13:52:19 Duration: 0ms Database: postgres
-
SET extra_float_digits = 3;
Date: 2026-01-15 13:43:07 Duration: 0ms Database: postgres
-
SET extra_float_digits = 3;
Date: 2026-01-15 13:43:07 Duration: 0ms Database: postgres
18 43ms 10,383 0ms 3ms 0ms SET application_name = 'PostgreSQL JDBC Driver';Times Reported Time consuming bind #18
Day Hour Count Duration Avg duration 13 10,383 43ms 0ms -
SET application_name = 'PostgreSQL JDBC Driver';
Date: 2026-01-15 13:43:31 Duration: 3ms Database: postgres
-
SET application_name = 'PostgreSQL JDBC Driver';
Date: 2026-01-15 13:16:11 Duration: 0ms Database: postgres
-
SET application_name = 'PostgreSQL JDBC Driver';
Date: 2026-01-15 13:46:38 Duration: 0ms Database: postgres
19 31ms 1 31ms 31ms 31ms with maxwhid as ( ;Times Reported Time consuming bind #19
Day Hour Count Duration Avg duration 13 1 31ms 31ms -
with maxwhid as ( ;
Date: 2026-01-15 13:22:52 Duration: 31ms Database: postgres parameters: $1 = '335', $2 = '621', $3 = '637', $4 = '642', $5 = '660', $6 = '666', $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'
20 26ms 36 0ms 0ms 0ms select feedname, to_char(latestrxtime, 'yyyy-mm-dd HH24:MI'), to_char(LatestDBWriteTime, 'yyyy-mm-dd HH24:MI'), to_char(LatestStartupTime, 'yyyy-mm-dd HH24:MI'), StartupTimeInMinutes, dm.source_type, dm.transport_type, case when latestrxtime < (CURRENT_TIMESTAMP - 5 * interval '1 minute') then 'X' else 'OK' end, case when (feedname ilike '%_EOD' OR feedname ilike 'IQFEED_DAILIES' or feedname ilike 'YAHOO%' or feedname ilike 'QUANDL_FUTURES%' or feedname ilike 'BAR_CHART') then case when LatestDBWriteTime < (CURRENT_TIMESTAMP - 24 * interval '1 hour') then 'X' else 'OK' end else case when (LatestDBWriteTime < (CURRENT_TIMESTAMP - 15 * interval '1 minute') and LatestStartupTime < (CURRENT_TIMESTAMP - 30 * interval '1 minute')) OR latestrxtime < CURRENT_TIMESTAMP - interval '2 hour' then 'X' else 'OK' end end as statusDB, comment from datafeeds_latestrun dlr left outer join datafeeds df on dlr.feedname ilike df.name inner join datafeeds_metadata dm on df.metadata_id = dm.id order by feedname;Times Reported Time consuming bind #20
Day Hour Count Duration Avg duration 13 36 26ms 0ms -
select feedname, to_char(latestrxtime, 'yyyy-mm-dd HH24:MI'), to_char(LatestDBWriteTime, 'yyyy-mm-dd HH24:MI'), to_char(LatestStartupTime, 'yyyy-mm-dd HH24:MI'), StartupTimeInMinutes, dm.source_type, dm.transport_type, case when latestrxtime < (CURRENT_TIMESTAMP - 5 * interval '1 minute') then 'X' else 'OK' end, case when (feedname ilike '%_EOD' OR feedname ilike 'IQFEED_DAILIES' or feedname ilike 'YAHOO%' or feedname ilike 'QUANDL_FUTURES%' or feedname ilike 'BAR_CHART') then case when LatestDBWriteTime < (CURRENT_TIMESTAMP - 24 * interval '1 hour') then 'X' else 'OK' end else case when (LatestDBWriteTime < (CURRENT_TIMESTAMP - 15 * interval '1 minute') and LatestStartupTime < (CURRENT_TIMESTAMP - 30 * interval '1 minute')) OR latestrxtime < CURRENT_TIMESTAMP - interval '2 hour' then 'X' else 'OK' end end as statusDB, comment from datafeeds_latestrun dlr left outer join datafeeds df on dlr.feedname ilike df.name inner join datafeeds_metadata dm on df.metadata_id = dm.id order by feedname;
Date: 2026-01-15 13:01:35 Duration: 0ms Database: postgres
-
select feedname, to_char(latestrxtime, 'yyyy-mm-dd HH24:MI'), to_char(LatestDBWriteTime, 'yyyy-mm-dd HH24:MI'), to_char(LatestStartupTime, 'yyyy-mm-dd HH24:MI'), StartupTimeInMinutes, dm.source_type, dm.transport_type, case when latestrxtime < (CURRENT_TIMESTAMP - 5 * interval '1 minute') then 'X' else 'OK' end, case when (feedname ilike '%_EOD' OR feedname ilike 'IQFEED_DAILIES' or feedname ilike 'YAHOO%' or feedname ilike 'QUANDL_FUTURES%' or feedname ilike 'BAR_CHART') then case when LatestDBWriteTime < (CURRENT_TIMESTAMP - 24 * interval '1 hour') then 'X' else 'OK' end else case when (LatestDBWriteTime < (CURRENT_TIMESTAMP - 15 * interval '1 minute') and LatestStartupTime < (CURRENT_TIMESTAMP - 30 * interval '1 minute')) OR latestrxtime < CURRENT_TIMESTAMP - interval '2 hour' then 'X' else 'OK' end end as statusDB, comment from datafeeds_latestrun dlr left outer join datafeeds df on dlr.feedname ilike df.name inner join datafeeds_metadata dm on df.metadata_id = dm.id order by feedname;
Date: 2026-01-15 13:31:41 Duration: 0ms Database: postgres
-
select feedname, to_char(latestrxtime, 'yyyy-mm-dd HH24:MI'), to_char(LatestDBWriteTime, 'yyyy-mm-dd HH24:MI'), to_char(LatestStartupTime, 'yyyy-mm-dd HH24:MI'), StartupTimeInMinutes, dm.source_type, dm.transport_type, case when latestrxtime < (CURRENT_TIMESTAMP - 5 * interval '1 minute') then 'X' else 'OK' end, case when (feedname ilike '%_EOD' OR feedname ilike 'IQFEED_DAILIES' or feedname ilike 'YAHOO%' or feedname ilike 'QUANDL_FUTURES%' or feedname ilike 'BAR_CHART') then case when LatestDBWriteTime < (CURRENT_TIMESTAMP - 24 * interval '1 hour') then 'X' else 'OK' end else case when (LatestDBWriteTime < (CURRENT_TIMESTAMP - 15 * interval '1 minute') and LatestStartupTime < (CURRENT_TIMESTAMP - 30 * interval '1 minute')) OR latestrxtime < CURRENT_TIMESTAMP - interval '2 hour' then 'X' else 'OK' end end as statusDB, comment from datafeeds_latestrun dlr left outer join datafeeds df on dlr.feedname ilike df.name inner join datafeeds_metadata dm on df.metadata_id = dm.id order by feedname;
Date: 2026-01-15 13:26:17 Duration: 0ms Database: postgres
-
Events
Log levels
Key values
- 919,832 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 15 13 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-15 13:06:01