āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§āĻ° āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻāĻ¤āĻž "
āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŦā§ āĻāĻŦāĻ āĻĻā§āĻāĻžāĻŦā§, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒā§āĻ°āĻļā§āĻ¨ āĻāĻŦāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, pg_locks āĻĻāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¤āĻŋāĻšāĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻ¸āĻ¤āĻ°ā§āĻāĻŦāĻžāĻŖā§āĨ¤
āĻŦāĻŋāĻˇāĻ¯āĻŧā§āĻ° āĻ¨āĻ¤ā§āĻ¨āĻ¤ā§āĻŦ āĻāĻŦāĻ āĻ āĻ¸āĻŽāĻžāĻĒā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ā§āĻ° āĻāĻžāĻ°āĻŖā§, āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋāĻ¤ā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¸āĻŽāĻžāĻ˛ā§āĻāĻ¨āĻž āĻāĻŦāĻ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻĻā§āĻĸāĻŧāĻāĻžāĻŦā§ āĻ¸ā§āĻŦāĻžāĻāĻ¤ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤.
āĻ¤āĻĨā§āĻ¯ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ā§
pg_locks āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§āĻ° āĻāĻ¤āĻŋāĻšāĻžāĻ¸
āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ°_āĻ˛āĻ āĻāĻ°āĻž
CREATE TABLE archive_locking
( timepoint timestamp without time zone ,
locktype text ,
relation oid ,
mode text ,
tid xid ,
vtid text ,
pid integer ,
blocking_pids integer[] ,
granted boolean ,
queryid bigint
);
āĻŽā§āĻ˛āĻ¤, āĻā§āĻŦāĻŋāĻ˛āĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻ
āĻ¨ā§āĻ°ā§āĻĒ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ°_pg_stat_activityāĻāĻāĻžāĻ¨ā§ āĻāĻ°ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻāĻžāĻŦā§ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§-
āĻāĻāĻāĻŋ āĻāĻ˛āĻžāĻŽ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ queryid āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ
update_history_locking_by_queryid
--update_history_locking_by_queryid.sql
CREATE OR REPLACE FUNCTION update_history_locking_by_queryid() RETURNS boolean AS $$
DECLARE
result boolean ;
current_minute double precision ;
start_minute integer ;
finish_minute integer ;
start_period timestamp without time zone ;
finish_period timestamp without time zone ;
lock_rec record ;
endpoint_rec record ;
current_hour_diff double precision ;
BEGIN
RAISE NOTICE '***update_history_locking_by_queryid';
result = TRUE ;
current_minute = extract ( minute from now() );
SELECT * FROM endpoint WHERE is_need_monitoring
INTO endpoint_rec ;
current_hour_diff = endpoint_rec.hour_diff ;
IF current_minute < 5
THEN
RAISE NOTICE 'Current time is less than 5 minute.';
start_period = date_trunc('hour',now()) + (current_hour_diff * interval '1 hour');
finish_period = start_period - interval '5 minute' ;
ELSE
finish_minute = extract ( minute from now() ) / 5 ;
start_minute = finish_minute - 1 ;
start_period = date_trunc('hour',now()) + interval '1 minute'*start_minute*5+(current_hour_diff * interval '1 hour');
finish_period = date_trunc('hour',now()) + interval '1 minute'*finish_minute*5+(current_hour_diff * interval '1 hour') ;
END IF ;
RAISE NOTICE 'start_period = %', start_period;
RAISE NOTICE 'finish_period = %', finish_period;
FOR lock_rec IN
WITH act_queryid AS
(
SELECT
pid ,
timepoint ,
query_start AS started ,
MAX(timepoint) OVER (PARTITION BY pid , query_start ) AS finished ,
queryid
FROM
activity_hist.history_pg_stat_activity
WHERE
timepoint BETWEEN start_period and
finish_period
GROUP BY
pid ,
timepoint ,
query_start ,
queryid
),
lock_pids AS
(
SELECT
hl.pid ,
hl.locktype ,
hl.mode ,
hl.timepoint ,
MIN ( timepoint ) OVER (PARTITION BY pid , locktype ,mode ) as started
FROM
activity_hist.history_locking hl
WHERE
hl.timepoint between start_period and
finish_period
GROUP BY
hl.pid ,
hl.locktype ,
hl.mode ,
hl.timepoint
)
SELECT
lp.pid ,
lp.locktype ,
lp.mode ,
lp.timepoint ,
aq.queryid
FROM lock_pids lp LEFT OUTER JOIN act_queryid aq ON ( lp.pid = aq.pid AND lp.started BETWEEN aq.started AND aq.finished )
WHERE aq.queryid IS NOT NULL
GROUP BY
lp.pid ,
lp.locktype ,
lp.mode ,
lp.timepoint ,
aq.queryid
LOOP
UPDATE activity_hist.history_locking SET queryid = lock_rec.queryid
WHERE pid = lock_rec.pid AND locktype = lock_rec.locktype AND mode = lock_rec.mode AND timepoint = lock_rec.timepoint ;
END LOOP;
RETURN result ;
END
$$ LANGUAGE plpgsql;
āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž: queryid āĻāĻ˛āĻžāĻŽā§āĻ° āĻŽāĻžāĻ¨ history_locking āĻā§āĻŦāĻŋāĻ˛ā§ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¯āĻāĻ¨ archive_locking āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨ āĻŽāĻžāĻ¨āĻāĻŋ āĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻāĻāĻĒā§āĻ
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¤āĻĨā§āĻ¯āĨ¤
āĻ˛āĻāĻāĻžāĻāĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻ¤āĻĻāĻ¨ā§āĻ¤
WITH
t AS
(
SELECT
locktype ,
mode ,
count(*) as total
FROM
activity_hist.archive_locking
WHERE
timepoint between pg_stat_history_begin+(current_hour_diff * interval '1 hour') AND pg_stat_history_end+(current_hour_diff * interval '1 hour') AND
NOT granted
GROUP BY
locktype ,
mode
)
SELECT
locktype ,
mode ,
total * interval '1 second' as duration
FROM t
ORDER BY 3 DESC
āĻāĻĻāĻžāĻšāĻ°āĻŖ
| āĻ˛āĻāĻāĻžāĻāĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻž +----------------------------------------------------- ------------------- | āĻ˛āĻāĻāĻžāĻāĻĒ| āĻŽā§āĻĄ| āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ +------------------- +---------------------------- --+--------- | āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 19:39:26 | āĻāĻŋāĻĒāĻ˛ | āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 00:03:35 +-------------------------------------------- -------+------------
āĻ˛āĻāĻāĻžāĻāĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤āĻžāĻ˛āĻž āĻ¨ā§āĻāĻ¯āĻŧāĻž
āĻ¤āĻĻāĻ¨ā§āĻ¤
WITH
t AS
(
SELECT
locktype ,
mode ,
count(*) as total
FROM
activity_hist.archive_locking
WHERE
timepoint between pg_stat_history_begin+(current_hour_diff * interval '1 hour') AND pg_stat_history_end+(current_hour_diff * interval '1 hour') AND
granted
GROUP BY
locktype ,
mode
)
SELECT
locktype ,
mode ,
total * interval '1 second' as duration
FROM t
ORDER BY 3 DESC
āĻāĻĻāĻžāĻšāĻ°āĻŖ
| āĻ˛āĻāĻāĻžāĻāĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤āĻžāĻ˛āĻž āĻ¨ā§āĻāĻ¯āĻŧāĻž +------------------------------- --------+------------------- | āĻ˛āĻāĻāĻžāĻāĻĒ| āĻŽā§āĻĄ| āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ +------------------- +---------------------------- --+--------- | āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ | RowExclusiveLock| 51:11:10 | āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛āĻā§āĻ¸āĻŋāĻĄ| āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 48:10:43 | āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 44:24:53 | āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ | AccessShareLock| 20:06:13 | āĻāĻŋāĻĒāĻ˛ | āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 17:58:47 | āĻāĻŋāĻĒāĻ˛ | āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 01:40:41 | āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ | ShareUpdateExclusiveLock| 00:26:41 | āĻŦāĻ¸ā§āĻ¤ā§| RowExclusiveLock| 00:00:01 | āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 00:00:01 | āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ | āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 00:00:01 +-------------------------------------------- -------+------------
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ queryid āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯
QUERYID āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻāĻāĻžāĻāĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§ā§ˇ
āĻ¤āĻĻāĻ¨ā§āĻ¤
WITH
lt AS
(
SELECT
pid ,
locktype ,
mode ,
timepoint ,
queryid ,
blocking_pids ,
MIN ( timepoint ) OVER (PARTITION BY pid , locktype ,mode ) as started
FROM
activity_hist.archive_locking
WHERE
timepoint between pg_stat_history_begin+(current_hour_diff * interval '1 hour') AND
pg_stat_history_end+(current_hour_diff * interval '1 hour') AND
NOT granted AND
queryid IS NOT NULL
GROUP BY
pid ,
locktype ,
mode ,
timepoint ,
queryid ,
blocking_pids
)
SELECT
lt.pid ,
lt.locktype ,
lt.mode ,
lt.started ,
lt.queryid ,
lt.blocking_pids ,
COUNT(*) * interval '1 second' as duration
FROM lt
GROUP BY
lt.pid ,
lt.locktype ,
lt.mode ,
lt.started ,
lt.queryid ,
lt.blocking_pids
ORDER BY 4
āĻāĻĻāĻžāĻšāĻ°āĻŖ
| āĻā§āĻ¯āĻŧā§āĻ°āĻŋāĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻāĻāĻžāĻāĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§ +---------+---------------------------------------- +-------------------------------------------------- ------------+------------ --------- | āĻĒāĻŋāĻĄ| āĻ˛āĻāĻāĻžāĻāĻĒ| āĻŽā§āĻĄ| āĻļā§āĻ°ā§ | queryid| āĻŦā§āĻ˛āĻāĻŋāĻ_āĻĒāĻŋāĻĄāĻ¸| āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ +--------- +---------------------------- +------------ ---------+------------------------------- +--------- ----------------------------------------------------------------- --- | 11288| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:00:00.302936 | 389015618226997618| {11092}| 00:03:34 | 11626| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:00:21.380921 | 389015618226997618| {12380}| 00:00:29 | 11626| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:00:21.380921 | 389015618226997618| {11092}| 00:03:25 | 11626| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:00:21.380921 | 389015618226997618| {12213}| 00:01:55 | 11626| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:00:21.380921 | 389015618226997618| {12751}| 00:00:01 | 11629| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:00:24.331935 | 389015618226997618| {11092}| 00:03:22 | 11629| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:00:24.331935 | 389015618226997618| {12007}| 00:00:01 | 12007| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:05:03.327933 | 389015618226997618| {11629}| 00:00:13 | 12007| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:05:03.327933 | 389015618226997618| {11092}| 00:01:10 | 12007| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:05:03.327933 | 389015618226997618| {11288}| 00:00:05 | 12213| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻļā§āĻ¯āĻŧāĻžāĻ°āĻ˛āĻ| 2019-09-17 10:06:07.328019 | 389015618226997618| {12007}| 00:00:10
QUERYID āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻāĻāĻžāĻāĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻāĻā§āĻ˛āĻŋ āĻ¨ā§āĻāĻ¯āĻŧāĻžā§ˇ
āĻ¤āĻĻāĻ¨ā§āĻ¤
WITH
lt AS
(
SELECT
pid ,
locktype ,
mode ,
timepoint ,
queryid ,
blocking_pids ,
MIN ( timepoint ) OVER (PARTITION BY pid , locktype ,mode ) as started
FROM
activity_hist.archive_locking
WHERE
timepoint between pg_stat_history_begin+(current_hour_diff * interval '1 hour') AND
pg_stat_history_end+(current_hour_diff * interval '1 hour') AND
granted AND
queryid IS NOT NULL
GROUP BY
pid ,
locktype ,
mode ,
timepoint ,
queryid ,
blocking_pids
)
SELECT
lt.pid ,
lt.locktype ,
lt.mode ,
lt.started ,
lt.queryid ,
lt.blocking_pids ,
COUNT(*) * interval '1 second' as duration
FROM lt
GROUP BY
lt.pid ,
lt.locktype ,
lt.mode ,
lt.started ,
lt.queryid ,
lt.blocking_pids
ORDER BY 4
āĻāĻĻāĻžāĻšāĻ°āĻŖ
| āĻā§āĻ¯āĻŧā§āĻ°āĻŋāĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻāĻāĻžāĻāĻĒ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻāĻā§āĻ˛āĻŋ āĻ¨ā§āĻāĻ¯āĻŧāĻž +------------+------------+--------------------- ----------------------------------------------------- --------------------+--------------------- | āĻĒāĻŋāĻĄ| āĻ˛āĻāĻāĻžāĻāĻĒ| āĻŽā§āĻĄ| āĻļā§āĻ°ā§ | queryid| āĻŦā§āĻ˛āĻāĻŋāĻ_āĻĒāĻŋāĻĄāĻ¸| āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ +--------- +---------------------------- +------------ ---------+------------------------------- +--------- ----------------------------------------------------------------- --- | 11288| āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ| RowExclusiveLock| 2019-09-17 10:00:00.302936 | 389015618226997618| {11092}| 00:03:34 | 11092| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 2019-09-17 10:00:00.302936 | 389015618226997618| {}| 00:03:34 | 11288| āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ| RowExclusiveLock| 2019-09-17 10:00:00.302936 | 389015618226997618| {}| 00:00:10 | 11092| āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ| RowExclusiveLock| 2019-09-17 10:00:00.302936 | 389015618226997618| {}| 00:03:34 | 11092| āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛āĻā§āĻ¸āĻŋāĻĄ| āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 2019-09-17 10:00:00.302936 | 389015618226997618| {}| 00:03:34 | 11288| āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛āĻā§āĻ¸āĻŋāĻĄ| āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 2019-09-17 10:00:00.302936 | 389015618226997618| {11092}| 00:03:34 | 11288| āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 2019-09-17 10:00:00.302936 | 389015618226997618| {11092}| 00:03:34 | 11288| āĻāĻŋāĻĒāĻ˛ | āĻāĻā§āĻ¸āĻā§āĻ˛ā§āĻ¸āĻŋāĻ āĻ˛āĻ| 2019-09-17 10:00:00.302936 | 389015618226997618| {11092}| 00:03:34
āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻāĻ¨āĻž āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§ āĻ˛āĻ āĻāĻ¤āĻŋāĻšāĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§.
- queryid=389015618226997618 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ pid=11288 āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ 2019-09-17 10:00:00 āĻĨā§āĻā§ 3 āĻŽāĻŋāĻ¨āĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ˛āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻāĻŋāĻ˛ā§ˇ
- āĻĒāĻŋāĻĄ = 11092 āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻāĻāĻŋ āĻ°āĻžāĻāĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛
- pid=11092 queryid=389015618226997618 2019-09-17 āĻĨā§āĻā§ 10:00:00 āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ 3 āĻŽāĻŋāĻ¨āĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻ āĻāĻāĻā§ āĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĨ¤
āĻĢāĻ˛āĻžāĻĢāĻ˛
āĻāĻāĻ¨, āĻāĻŽāĻŋ āĻāĻļāĻž āĻāĻ°āĻŋ, āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻāĻŦāĻ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ āĻāĻļāĻāĻŋ āĻļā§āĻ°ā§ āĻšāĻŦā§ - āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°āĻž āĻāĻŦāĻ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻŦāĻ āĻŦā§āĻ˛āĻāĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¤āĻŋāĻšāĻžāĻ¸ā§āĻ° āĻā§āĻ¸ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻžāĨ¤
āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§, āĻāĻŽāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ, āĻāĻŽāĻ°āĻž āĻāĻŋāĻā§ āĻ¨ā§āĻā§āĻ° āĻ¸ā§āĻ āĻĒāĻžāĻŦ (āĻāĻ°āĻžāĻāĻ˛ā§āĻ° āĻŽā§āĻāĻžāĻ˛āĻŋāĻā§āĻā§āĻ° āĻŽāĻ¤ā§)āĨ¤
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻ āĻāĻžāĻ°āĻŖā§āĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻ¸āĻŽā§āĻāĻŦ āĻ¸āĻŦāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻŽāĻŋ āĻ¨āĻŋāĻāĻ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻāĻŋāĻĨā§āĻŦā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻĒā§āĻ¸ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦāĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com