เบžเบทเป‰เบ™เบ—เบตเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบต Confluence เป„เบ›เปƒเบช? เบซเบผเบท Confluence เบชเบฐเบ–เบดเบ•เบดเบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเปเบ™เบš

ะฃ ะฒะฐั ะฑั‹ะฒะฐะปะพ ั‚ะฐะบะพะต ะฝะฐ ัะตั€ะฒะตั€ะต Confluence ะทะฐะบะพะฝั‡ะธะปะพััŒ ะผะตัั‚ะพ, ะฐ ะฒั‹ ะฝะต ะทะฝะฐะตั‚ะต ะบั‚ะพ ะฑะพะปัŒัˆะต ะฒัะตะณะพ ะทะฐะณั€ัƒะถะฐะตั‚ ะฒะปะพะถะตะฝะธะน?

ะงั‚ะพะฑั‹ ัƒะทะฝะฐั‚ัŒ ัั‚ะพ ะฝะตะพะฑั…ะพะดะธะผ ะดะพัั‚ัƒะฟ ะบ ะฒ ะ‘ะ” PostgreSQL confluence.

ะก ะฟะพะผะพั‰ัŒัŽ SQL ะทะฐะฟั€ะพัะพะผ ะบ ะ‘ะ” PostgreSQL ะผะพะถะฝะพ ัƒะทะฝะฐั‚ัŒ ะฟะพะปะตะทะฝัƒัŽ ัั‚ะฐั‚ะธัั‚ะธะบัƒ ะฟะพ Confluence.

ะžะฑั‰ะธะน ั€ะฐะทะผะตั€ ะฒัะตั… ะฒะปะพะถะตะฝะธะน ะฒ Confluence:

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;

ะ’ั‹ะฒะพะด (spacename ะทะฐะผะตะฝะธะป):

เบžเบทเป‰เบ™เบ—เบตเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบต Confluence เป„เบ›เปƒเบช? เบซเบผเบท Confluence เบชเบฐเบ–เบดเบ•เบดเบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเปเบ™เบš

Cั‚ั€ะฐะฝะธั†ั‹ ั ะฑะพะปัŒัˆะธะฝัั‚ะฒะพะผ ะธัั‚ะพั€ะธั‡ะตัะบะธั… ะฒะตั€ัะธะน ะฒ ัั‚ะตั‡ะตะฝะธะธ:

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

เบชเบฐเบซเบผเบธเบš:

เบžเบทเป‰เบ™เบ—เบตเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบต Confluence เป„เบ›เปƒเบช? เบซเบผเบท Confluence เบชเบฐเบ–เบดเบ•เบดเบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเปเบ™เบš

Cะฐะผั‹ะต ะฑะพะปัŒัˆะธะต ั„ะฐะนะปั‹ ะฒะปะพะถะตะฝะธะน ะฒ ะฒะฐัˆะตะผ ัะบะทะตะผะฟะปัั€ะต Confluence

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;

เบชเบฐเบซเบผเบธเบš:

เบžเบทเป‰เบ™เบ—เบตเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบต Confluence เป„เบ›เปƒเบช? เบซเบผเบท Confluence เบชเบฐเบ–เบดเบ•เบดเบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเปเบ™เบš

ะšะพะปะธั‡ะตัั‚ะฒะพ ัั‚ั€ะฐะฝะธั† ะฒ ะบะพั€ะทะธะฝะต ะธ ะพะฑั‰ะธะน ั€ะฐะทะผะตั€ ัั‚ั€ะฐะฝะธั† ะฒ ะบะพั€ะทะธะฝะต ะฝะฐ ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะพ:


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;

เบชเบฐเบซเบผเบธเบš:

เบžเบทเป‰เบ™เบ—เบตเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบต Confluence เป„เบ›เปƒเบช? เบซเบผเบท Confluence เบชเบฐเบ–เบดเบ•เบดเบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเปเบ™เบš

ะžะฑั‰ะธะน ั€ะฐะทะผะตั€ ะฒะปะพะถะตะฝะธะน, ะทะฐะณั€ัƒะถะตะฝะฝั‹ั… ะบะฐะถะดั‹ะผ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะผ ะฝะฐ ะฒัะตั… ัั‚ั€ะฐะฝะธั†ะฐั…

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;

เบชเบฐเบซเบผเบธเบš:

เบžเบทเป‰เบ™เบ—เบตเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบต Confluence เป„เบ›เปƒเบช? เบซเบผเบท Confluence เบชเบฐเบ–เบดเบ•เบดเบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเปเบ™เบš

P.S. ะ”ะพะฟะพะปะฝัะนั‚ะต ะฟะพัั‚ ะฟะพะปะตะทะฝั‹ะผะธ SQL ะทะฐะฟั€ะพัะฐะผะธ ะดะปั Confluence

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™