O primeiro argumento passado para a função pgsql
json_populate_recordset
deve ser um tipo de linha. Se você quiser usar o array json para preencher a tabela existente anoop
você pode simplesmente passar a tabela anoop
como o tipo de linha assim:insert into anoop
select * from json_populate_recordset(null::anoop,
'[{"id":67272,"name":"EE_Quick_Changes_J_UTP.xlsx"},
{"id":67273,"name":"16167.txt"},
{"id":67274,"name":"EE_12_09_2013_Bcum_Searchall.png"}]');
Aqui o
null
é o valor padrão a ser inserido nas colunas da tabela não definidas no json passado. Se você não tiver uma tabela existente, precisará criar um tipo de linha para armazenar seus dados json (ou seja, columnnames e seus tipos) e passá-los como o primeiro parâmetro, como este
anoop_type
:create TYPE anoop_type AS (id int, name varchar(100));
select * from json_populate_recordset(null :: anoop_type,
'[...]') --same as above