рдХреЙрдиреНрдлреНрд▓реБрдПрдВрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрдЧрд╣ рдХрд╣рд╛рдВ рдЧрдИ? рдпрд╛ рдЕрдиреБрд▓рдЧреНрдирдХреЛрдВ рдкрд░ рд╕рдВрдЧрдо рдЖрдБрдХрдбрд╝реЗ

рдХреНрдпрд╛ рдЖрдкрдХреЗ рдХрднреА рдХреЙрдиреНрдлрд╝реНрд▓реБрдПрдВрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрдЧрд╣ рдЦрд╝рддреНрдо рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ рдЖрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдЯреИрдЪрдореЗрдВрдЯ рдХреМрди рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ?

рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ 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;

рдирд┐рд╖реНрдХрд░реНрд╖:

рдХреЙрдиреНрдлреНрд▓реБрдПрдВрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрдЧрд╣ рдХрд╣рд╛рдВ рдЧрдИ? рдпрд╛ рдЕрдиреБрд▓рдЧреНрдирдХреЛрдВ рдкрд░ рд╕рдВрдЧрдо рдЖрдБрдХрдбрд╝реЗ

рдкреАрдПрд╕ рдХреЙрдиреНрдлреНрд▓реБрдПрдВрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдкреЛрд╕реНрдЯ рдХреЛ рдкреВрд░рдХ рдХрд░реЗрдВ

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ