如何从 Hasura 数据库将数据导出为 CSV 文件?

How to export data as a CSV file from a Hasura database?

我在 Hasura 集群的数据库中有几个表。我想将其中一个导出为 CSV 文件(包含数据)。我该怎么做?

您可以采用以下方法之一:

  1. 连接到数据库并使用psql将数据导出为CSV:

    a) 直接access the underlying Postgres db实例:

    hasura 微服务 port-forward postgres -n hasura --local-port 6432

    b) 按照此 SO question 实际将数据导出为 CSV 文件(假设您已安装 psql)。

  2. 使用数据 API 编写可以将 JSON 转换为 CSV 并将其保存到文件的简单服务。

  3. 如果 table 的大小不是很大,您也可以只使用 api-explorer UI(数据部分或 SQL 界面)显示所有行并将它们复制并粘贴到文件中。将此文件转换为 CSV 格式非常简单。

Hasura 公开和 API 端点以访问基础数据库的 pg_dump

https://hasura.io/docs/1.0/graphql/core/api-reference/pgdump.html#pg-dump-api-reference

curl --location --request POST 'https://<hasura-hostname>/v1alpha1/pg_dump' --header 'x-hasura-admin-secret: <password>' --header 'Content-Type: application/json' --data-raw '{  "opts": ["-O", "-x", "--schema", "public", "--schema", "auth"],  "clean_output": true}' -o backup.sql