\df jsonb_populate_record List of functions Schema | Name | Result data type | Argument data types | Type ------------+-----------------------+------------------+---------------------+------ pg_catalog | jsonb_populate_record | anyelement | anyelement, jsonb | func (1 row)
manual: > anyelement Indicates that a function accepts any data type. > For the “simple” family of polymorphic types, the matching and deduction > rules work like this: > Each position (either argument or return value) declared as anyelement is > allowed to have any specific actual data type, but in any given call they > must all be the same actual type. So jsonb_populate_record signature can handle cases like jsonb_populate_record(anyarray, jsonb)? obviously this is a cast, it may fail. also if input is anyarray, so the output anyarray will have the same base type as input anyarray.