如何列出所有Alfresco文件的信息(Postgres SQL)?

时间:2016-12-14 14:01:29

标签: postgresql alfresco

Alfresco持久层中的文件节点表示:

  • 内容存储在ALFRESCO_HOME\alf_data\contentstore\文件夹
  • 元数据存储在relational database中(默认:PostgreSQL)
  • 文本搜索信息(Lucene)存储在Solr的文档数据库中

哪些Postgres表用于保存新上传文件的元数据? 如何列出所有Alfresco文件的信息(Postgres SQL)?

1 个答案:

答案 0 :(得分:3)

保存文件元数据的表:

enter image description here

列出所有Alfresco文件的信息 - Postgres SQL:

SELECT 
  n.id, 
  npn.string_value as filename,
  cu.content_size,
  cu.content_url,   
  n.uuid, 
  n.audit_created
FROM alf_node as n
  join alf_node_properties npn on 
     (npn.node_id=n.id and npn.actual_type_n=6 and npn.qname_id in 
       (select id from alf_qname where local_name='name'))
  join alf_node_properties npc on 
     (npc.node_id=n.id and npc.actual_type_n=21 and npc.qname_id in 
       (select id from alf_qname where local_name='content'))
  join alf_content_data cd on (cd.id = npc.long_value)
  join alf_content_url cu on (cd.content_url_id = cu.id)
where 
  n.type_qname_id in (
    select id from alf_qname where local_name='content'
  )