json - 将数据从 Postgres 导出到 json 并重命名 fly 的列

标签 json postgresql

如何从 json 中的表中仅导入特定列并动态重命名它们?即:

MyTable (id, column1, column2, columns3)

我想将它们导出到 json 中:

MyTable: {column11, column2, columns33}

所以只有 3 列,其中 2 列被重命名。

最佳答案

基于 Export Postgres table as JSON ,您可以从表中选择所需的数据,将其转换为 JSON,然后将其复制 到文件中。这是一个 SQLFiddle showing the JSON conversion .

一起玩吧

CREATE TABLE data (id integer, name varchar(255), quantity integer);

INSERT INTO data VALUES 
  (1, 'apple', 10),
  (2, 'banana', 20),
  (3, 'cherry', 30)
;

首先,将数据转换成您想要的格式,减少列数并更改任何名称。

SELECT
  name AS fruit_name,
  quantity
FROM data;

然后,将其放入子查询并将其转换为 JSON。

SELECT row_to_json(fruit_data) FROM (
  SELECT
    name AS fruit_name,
    quantity
  FROM data
) fruit_data;

最后,将所有内容包装在copy中。

COPY (
  SELECT row_to_json(fruit_data) FROM (
    SELECT
      name AS fruit_name,
      quantity
    FROM data
  ) fruit_data
) TO 'a.file';

这会将每一行作为 JSON 逐行打印到文件

{"fruit_name":"apple","quantity":10}
{"fruit_name":"banana","quantity":20}
{"fruit_name":"cherry","quantity":30}

Postgres 可能会在你输出它们之前将它们构建到一个数组中,但我认为如果你想要这种格式,将文件后处理到一个数组中会更简单。

关于json - 将数据从 Postgres 导出到 json 并重命名 fly 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31680518/

相关文章:

javascript - 如何在另一个页面显示componentDidMount获取数据?

json - swift json 解析返回可选

java - 如何将包含内容的 TreeMap 转换为 JSON 格式 Spring REST Controller JAVA

JavaScript 从 JSON 获取数据并选择值

django - 在本地为 Django 使用 SQLite,在服务器上使用 Postgres

SQL 数组作为准备语句的参数 - 可移植性

python - json.dumps 打乱了顺序

sql - 将 Postgres 中的外键定义为目标表的子集

postgresql - pq : password authentication failed for user "user-name" while accessing postgres in vscode

mysql - 我读到的关于 "that bad"的一致性/数据丢失/查询优化问题是什么?