如何从json中的表中仅导入某些列并动态重命名?那是:
MyTable (id, column1, column2, columns3)
Run Code Online (Sandbox Code Playgroud)
我想将它们导出为json:
MyTable: {column11, column2, columns33}
Run Code Online (Sandbox Code Playgroud)
因此,只重命名了3列和2列.
Kri*_*ján 16
在Export Postgres表的基础上构建为JSON,您可以从表中选择所需的数据,将其转换为JSON,然后将copy其转换为文件.这是一个显示JSON转换的SQLFiddle.
让我们玩吧
CREATE TABLE data (id integer, name varchar(255), quantity integer);
INSERT INTO data VALUES
(1, 'apple', 10),
(2, 'banana', 20),
(3, 'cherry', 30)
;
Run Code Online (Sandbox Code Playgroud)
首先,使用更少的列和任何名称更改将数据转换为所需的格式.
SELECT
name AS fruit_name,
quantity
FROM data;
Run Code Online (Sandbox Code Playgroud)
然后,将其放在子查询中并将其转换为JSON.
SELECT row_to_json(fruit_data) FROM (
SELECT
name AS fruit_name,
quantity
FROM data
) fruit_data;
Run Code Online (Sandbox Code Playgroud)
最后,将所有内容包装好copy.
COPY (
SELECT row_to_json(fruit_data) FROM (
SELECT
name AS fruit_name,
quantity
FROM data
) fruit_data
) TO 'a.file';
Run Code Online (Sandbox Code Playgroud)
这会将每行作为JSON逐行打印到文件中
{"fruit_name":"apple","quantity":10}
{"fruit_name":"banana","quantity":20}
{"fruit_name":"cherry","quantity":30}
Run Code Online (Sandbox Code Playgroud)
Postgres可能会在输出它们之前将它们构建成一个数组,但我认为如果这是你想要的格式,将文件后处理成数组会更简单.
| 归档时间: |
|
| 查看次数: |
8567 次 |
| 最近记录: |