Gan*_*shK 3 sql postgresql alfresco
我有一个SQL查询来从内容URL获取内容大小,但是当我执行SQL并将结果与contentstore的目录大小进行比较时,它不匹配.例如,首先我从数据库(PostgreSQL)获取内容大小:
SELECT count(*),
SUM(round(u.content_size/1024/1024,2)) AS "Size (MB)",
to_char(n.audit_created:: date,'yyyy') AS yyyy_
FROM alf_node AS n,
alf_node_properties AS p,
alf_node_properties AS p1,
alf_namespace AS ns,
alf_qname AS q,
alf_content_data AS d,
alf_content_url AS u
WHERE n.id=p.node_id
AND ns.id=q.ns_id
AND p.qname_id=q.id
AND p.long_value=d.id
AND d.content_url_id=u.id
AND p1.node_id=n.id
AND p1.qname_id IN (SELECT id FROM alf_qname WHERE local_name='name')
GROUP BY yyyy_
ORDER BY yyyy_ DESC;
Run Code Online (Sandbox Code Playgroud)
它给我的总大小为600 GB.但是当我看到文件夹内容存储的大小属性alf_data显示为2.4 TB时.怎么可能?
最后,但并非最不重要的是,你将文件大小以MB为单位,对于每个文件进行求和之前,尝试以字节为单位进行求和,然后将结果舍入为:
SELECT count(*),round(SUM(u.content_size)/1024/1024, 3) AS "Size (MB)", to_char(n.audit_created:: date,'yyyy') as yyyy_
FROM alf_node AS n,
alf_node_properties AS p,
alf_node_properties AS p1,
alf_namespace AS ns,
alf_qname AS q,
alf_content_data AS d,
alf_content_url AS u
WHERE n.id=p.node_id
AND ns.id=q.ns_id
AND p.qname_id=q.id
AND p.long_value=d.id
AND d.content_url_id=u.id
AND p1.node_id=n.id
AND p1.qname_id IN (SELECT id FROM alf_qname WHERE local_name='name')
group by yyyy_
ORDER BY yyyy_ DESC;
Run Code Online (Sandbox Code Playgroud)仅根据您当前在存储库中拥有的内容来了解内容存储库的空间并不容易。
当文档被删除或更新为新版本时,Alfresco 不会立即从磁盘中删除二进制文件。
实际释放磁盘空间的过程有点“复杂”。以下文章描述了如何配置此过程的第一步:清理孤立内容(清除)
默认情况下,“清除”配置为每天凌晨 4 点执行,并将清除至少 14 天前已从存储库中删除的任何孤立文件。
如文章所述,默认情况下,Alfresco 不会删除已清除的文件,而只会将它们移动到不同的文件夹 (contentstore.deleted) 中。
备份后删除 contentstore.deleted 中的文件是安全的。
像往常一样,在 alfresco-global-properties 中,您可以修改默认配置(您可以在 alfresco/repository.properties 中找到)
您最终可能会以多种方式获得大量孤立文件。仅举一些例子:
| 归档时间: |
|
| 查看次数: |
1084 次 |
| 最近记录: |