postgresql中将多行记录合并为一个字符串

有时候需要将数据库中两个1:m关系的数据表进行转换为一个独立的表,可以这样处理:

SELECT m.uuid, m.title, m.description, x.data,
 array_to_string(ARRAY( SELECT keyword.keyword FROM keyword
          WHERE keyword.id = m.id), ', '::text) AS keyword
   FROM normalmetadata m
   LEFT JOIN xml x ON m.id = x.id;

这样就可以将其中的多个keyword转换为一个keyword字符串。

在进行全文搜索的时候,就可以建立一个view来代表所需搜索的全文信息。