How do I list all attachments in Confluence with their location and file sizes?

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

To get a list of all attachments in Confluence with a link to the page they are attached to and file sizes.

Solution

Run one of the below queries into your Confluence Database:

Solution

For Confluence 5.6 and below:

MySQL

1 2 3 4 5 6 7 8 9 select a.TITLE as "Attachment Name", a.FILESIZE, c.TITLE as "Page Title", s.SPACENAME as "Space Name", concat("http://<confluence_base_url>/pages/viewpageattachments.action?pageId=", a.PAGEID) as "Location" from ATTACHMENTS a join CONTENT c on a.PAGEID = c.CONTENTID join SPACES s ON c.SPACEID = s.SPACEID order by a.FILESIZE desc;

PostgreSQL

1 2 3 4 5 6 7 8 9 select a.TITLE as Attachment_Name, a.FILESIZE as Attachment_Size, s.SPACENAME as Space_Name, c.TITLE as Page_Title, 'http://<confluence_base_url>/pages/viewpageattachments.action?pageId='||a.PAGEID as Location from ATTACHMENTS a join CONTENT c on a.PAGEID = c.CONTENTID join SPACES s on c.SPACEID = s.SPACEID order by a.FILESIZE desc; 

For Confluence 5.7 and above:

MySQL

1 2 3 4 5 6 7 8 9 10 11 12 select c.TITLE as "Attachment Name", cp.LONGVAL as "File Size", c2.TITLE as "Page Title", s.SPACENAME as "Space Name", concat("http://<confluence_base_url>/pages/viewpageattachments.action?pageId=", c.PAGEID) as "Location" from CONTENT c  join CONTENT c2 on c.PAGEID = c2.CONTENTID join CONTENTPROPERTIES cp on c.CONTENTID = cp.CONTENTID join SPACES s on c2.SPACEID = s.SPACEID  where c.CONTENTTYPE = 'ATTACHMENT' and cp.PROPERTYNAME = 'FILESIZE' order by cp.LONGVAL desc;

PosgreSQL

1 2 3 4 5 6 7 8 9 10 11 select c.TITLE as Attachment_Name, cp.LONGVAL as Attachment_Size, s.spacename, c2.TITLE as Page_Title, 'http://<confluence_base_url>/pages/viewpageattachments.action?pageId='||c.PAGEID as Location from CONTENT c join CONTENT c2 ON c.PAGEID = c2.CONTENTID join CONTENTPROPERTIES cp on c.CONTENTID = cp.CONTENTID join SPACES s on c2.SPACEID = s.SPACEID where c.CONTENTTYPE = 'ATTACHMENT' and cp.PROPERTYNAME = 'FILESIZE' order by cp.LONGVAL desc;

Replace <confluence_base_url> with your Confluence Base URL . This was tested against MySQL and PostgreSQL.

Updated on April 15, 2025

Still need help?

The Atlassian Community is here for you.