在Postgres中选择一行作为JSON

时间:2016-08-03 22:05:54

标签: postgresql

是否有一种直接的方法将整个行从一个Postgres表放入另一个表中的JSON列?

这是一个例子来说明我想要做的事情。假设我有一个表std::unordered_map<int,std::string> myMap; myMap[1] = "w"; myMap.count(1) > 0 == true myMap.count(0) > 0 == false ,其中包含姓名,年龄和数据列:

people

我想在我的column type ----------- name text age int data json 表中合并,其中包含更多列。我如何将所有这些额外的列填充到2012_customers的JSON列中,保留列名作为数据键?这是一些伪SQL:

people

1 个答案:

答案 0 :(得分:5)

在这种情况下,正确的语法是使用row_to_json(table_name)

insert into people
select 
name,
age,
row_to_json(customers_2012) as json
from customers_2012