āĻ•āĻ¨āĻĢā§āĻ˛ā§āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ—ā§‡āĻ˛? āĻ…āĻĨāĻŦāĻž āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ‰āĻĒāĻ° āĻ¸āĻ™ā§āĻ—āĻŽ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻ¨āĻĢā§āĻ˛ā§āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ•āĻŋ āĻ•āĻ–āĻ¨āĻ“ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĢā§āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¨āĻž āĻ•ā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ†āĻĒāĻ˛ā§‹āĻĄ āĻ•āĻ°ā§‡?

āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ° PostgreSQL āĻ¸āĻ™ā§āĻ—āĻŽ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

āĻāĻ•āĻŸāĻŋ PostgreSQL āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻāĻ•āĻŸāĻŋ SQL āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ¨āĻĢā§āĻ˛ā§āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ¸āĻ™ā§āĻ—āĻŽā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻŽā§‹āĻŸ āĻ†āĻ•āĻžāĻ°:

SELECT s.spaceid,
       s.spacename,
       sum(LONGVAL)
FROM contentproperties c
JOIN content co ON c.contentid = co.contentid
JOIN spaces s ON co.spaceid = s.spaceid
WHERE c.contentid IN
    (SELECT contentid
     FROM content
     WHERE contenttype = 'ATTACHMENT')
  AND c.propertyname = 'FILESIZE'
GROUP BY s.spaceid
ORDER BY SUM DESC
LIMIT 5;

āĻ†āĻ‰āĻŸāĻĒā§āĻŸ (āĻ¸ā§āĻĒā§‡āĻ¸ āĻ¨āĻžāĻŽ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤):

āĻ•āĻ¨āĻĢā§āĻ˛ā§āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ—ā§‡āĻ˛? āĻ…āĻĨāĻŦāĻž āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ‰āĻĒāĻ° āĻ¸āĻ™ā§āĻ—āĻŽ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨

āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ…āĻ§āĻŋāĻ•āĻžāĻ‚āĻļ āĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻš āĻĒā§ƒāĻˇā§āĻ āĻž:

SELECT title,
       MAX(VERSION)
FROM content
WHERE contenttype = 'PAGE'
GROUP BY title
ORDER BY 2 DESC
LIMIT 5;

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°:

āĻ•āĻ¨āĻĢā§āĻ˛ā§āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ—ā§‡āĻ˛? āĻ…āĻĨāĻŦāĻž āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ‰āĻĒāĻ° āĻ¸āĻ™ā§āĻ—āĻŽ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻ¨āĻĢā§āĻ˛ā§āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻ‡āĻ¨āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻŦāĻĄāĻŧ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĢāĻžāĻ‡āĻ˛

SELECT DISTINCT c.contentid,
                c.title AS attachmentTitle,
                u.username AS uploadedBy,
                co.title AS pageTitle,
                cn.longval AS bytes
FROM CONTENT AS c
JOIN USER_MAPPING AS u ON u.user_key = c.creator
JOIN CONTENT AS co ON c.pageid = co.contentid
JOIN CONTENTPROPERTIES AS cn ON cn.contentid = c.contentid
WHERE c.contenttype = 'ATTACHMENT'
  AND cn.longval IS NOT NULL
ORDER BY cn.longval DESC
LIMIT 5;

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°:

āĻ•āĻ¨āĻĢā§āĻ˛ā§āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ—ā§‡āĻ˛? āĻ…āĻĨāĻŦāĻž āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ‰āĻĒāĻ° āĻ¸āĻ™ā§āĻ—āĻŽ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨

āĻā§āĻĄāĻŧāĻŋāĻ¤ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋ āĻā§āĻĄāĻŧāĻŋāĻ¤ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻŽā§‹āĻŸ āĻ†āĻ•āĻžāĻ°:


SELECT Count(content.contentid) AS number_of_trashed_pages,
       Pg_size_pretty(SUM(Pg_column_size(bodycontent.BODY))) AS trash_total_size,
       spaces.spacename AS space_name
FROM bodycontent
INNER JOIN content ON (content.contentid = bodycontent.contentid)
INNER JOIN spaces ON (content.spaceid = spaces.spaceid)
WHERE bodycontent.contentid IN
    (SELECT contentid
     FROM content
     WHERE content_status = 'deleted'
       AND contenttype = 'PAGE')
GROUP BY space_name
ORDER BY trash_total_size
LIMIT 5;

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°:

āĻ•āĻ¨āĻĢā§āĻ˛ā§āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ—ā§‡āĻ˛? āĻ…āĻĨāĻŦāĻž āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ‰āĻĒāĻ° āĻ¸āĻ™ā§āĻ—āĻŽ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻž āĻœā§āĻĄāĻŧā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻŽā§‹āĻŸ āĻ†āĻ•āĻžāĻ°ā§ˇ

SELECT u.lower_username,
       sum(cp.longval) AS "size"
FROM content c1
JOIN content c2 ON c1.contentid = c2.pageid
JOIN user_mapping u ON c1.creator=u.user_key
JOIN contentproperties cp ON c2.contentid = cp.contentid
WHERE c2.contenttype='ATTACHMENT'
GROUP BY u.lower_username
ORDER BY sum(cp.longval) DESC
LIMIT 5;

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°:

āĻ•āĻ¨āĻĢā§āĻ˛ā§āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻ—ā§‡āĻ˛? āĻ…āĻĨāĻŦāĻž āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ‰āĻĒāĻ° āĻ¸āĻ™ā§āĻ—āĻŽ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨

PS āĻ•āĻ¨āĻĢā§āĻ˛ā§āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻ¸āĻš āĻĒā§‹āĻ¸ā§āĻŸāĻŸāĻŋ āĻĒāĻ°āĻŋāĻĒā§‚āĻ°āĻ• āĻ•āĻ°ā§āĻ¨

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨