Add option force_array for COPY JSON FORMAT
Andrew Dunstan <andrew@dunslane.net>
Add option force_array for COPY JSON FORMAT This adds the force_array option, which is available exclusively when using COPY TO with the JSON format. When enabled, this option wraps the output in a top-level JSON array (enclosed in square brackets with comma-separated elements), making the entire result a valid single JSON value. Without this option, the default behavior is to output a stream of independent JSON objects. Attempting to use this option with COPY FROM or with formats other than JSON will raise an error. Author: Joe Conway <mail@joeconway.com> Author: jian he <jian.universality@gmail.com> Reviewed-by: Junwang Zhao <zhjwpku@gmail.com> Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com> Reviewed-by: Florents Tselai <florents.tselai@gmail.com> Reviewed-by: Andrew Dunstan <andrew@dunslane.net> Discussion: https://postgr.es/m/CALvfUkBxTYy5uWPFVwpk_7ii2zgT07t3d-yR_cy4sfrrLU%3Dkcg%40mail.gmail.com Discussion: https://postgr.es/m/6a04628d-0d53-41d9-9e35-5a8dc302c34c@joeconway.com
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/ref/copy.sgml | modified | +30 −0 |
| src/backend/commands/copy.c | modified | +13 −0 |
| src/backend/commands/copyto.c | modified | +36 −2 |
| src/bin/psql/tab-complete.in.c | modified | +1 −1 |
| src/include/commands/copy.h | modified | +1 −0 |
| src/test/regress/expected/copy.out | modified | +37 −0 |
| src/test/regress/sql/copy.sql | modified | +13 −0 |
Discussion
- Emitting JSON to file using COPY TO 163 messages · 2023-11-25 → 2026-03-20