Re: Emitting JSON to file using COPY TO
От | Joe Conway |
---|---|
Тема | Re: Emitting JSON to file using COPY TO |
Дата | |
Msg-id | f875d187-b9a8-4def-896c-a399d05a8723@joeconway.com обсуждение исходный текст |
Ответ на | Re: Emitting JSON to file using COPY TO (Joe Conway <mail@joeconway.com>) |
Ответы |
Re: Emitting JSON to file using COPY TO
|
Список | pgsql-hackers |
On 12/3/23 11:03, Joe Conway wrote: > From your earlier post, regarding constructing the aggregate -- not > extensive testing but one data point: > 8<-------------------------- > test=# copy foo to '/tmp/buf' (format json, force_array); > COPY 10000000 > Time: 36353.153 ms (00:36.353) > test=# copy (select json_agg(foo) from foo) to '/tmp/buf'; > COPY 1 > Time: 46835.238 ms (00:46.835) > 8<-------------------------- Also if the table is large enough, the aggregate method is not even feasible whereas the COPY TO method works: 8<-------------------------- test=# select count(*) from foo; count ---------- 20000000 (1 row) test=# copy (select json_agg(foo) from foo) to '/tmp/buf'; ERROR: out of memory DETAIL: Cannot enlarge string buffer containing 1073741822 bytes by 1 more bytes. test=# copy foo to '/tmp/buf' (format json, force_array); COPY 20000000 8<-------------------------- -- Joe Conway PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
В списке pgsql-hackers по дате отправления: