我有一个作为文件获取的 json,我已将其加载到 Postgres 数据库中。这是json数据:
{
"tablename": "test",
"columns": [
{
"name": "field1",
"datatype": "BigInt"
},
{
"name": "field2",
"datatype": "String"
}
]
}
现在我必须动态创建一个表,我正在考虑在 Postgres 中编写一个函数来做到这一点。因此,该表将命名为 test,其中包含 2 个字段,一个为字符串,另一个为 bigint。
我可以通过如下选择来获取表名:
select (metadata->'tablename') from public.json_metadata;
但是,我很难让所有嵌套的列名形成一个 create table 语句。
1-你将如何去做,任何内置的 Postgres 函数来提取它。
2- Postgres 函数是解决此问题的最佳方法,还是我应该用 python(我必须学习 Python)或 shell 脚本编写它。
列数不会是固定的,不同的 json 文件会有不同的列数。