Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAuqU-008ioA-KS for pgsql-hackers@arkaria.postgresql.org; Wed, 06 Dec 2023 16:33:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rAuqR-00BLwy-Fz for pgsql-hackers@arkaria.postgresql.org; Wed, 06 Dec 2023 16:33:55 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rAuqR-00BLwq-6Z for pgsql-hackers@lists.postgresql.org; Wed, 06 Dec 2023 16:33:55 +0000 Received: from mail-io1-xd31.google.com ([2607:f8b0:4864:20::d31]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rAuqO-0096jz-Fn for pgsql-hackers@postgresql.org; Wed, 06 Dec 2023 16:33:53 +0000 Received: by mail-io1-xd31.google.com with SMTP id ca18e2360f4ac-7b6eb711498so9854039f.3 for ; Wed, 06 Dec 2023 08:33:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701880432; x=1702485232; darn=postgresql.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=HF1YQgZnnFYudwtI1ROw44uKJPTNDy0fll7Qx+JhToM=; b=ZyKs278Gltc96yAz2BFGm7CXGR2wv47RP3ARSJWjP1n7jEmw6x15F7wty9Ksq82trp 14P8twQ6RklY4gzfKzSDDQfdKEWcLqNmgQMxD6C3qX3vbp9ATEza812g6LWS35mcjXxm Lbo4GGY6m6vq9dLgaV+284O71R06RA3+RvQr930s+NdGgnPbJPiThV0GuZiQUHYV1d0V zgjDNGfJNdPkt9F9tdc9ADFetxdM87Q52l42/ImkEHxr+2YTlgnviDs7bCqQAcI54ooE pUGaMmBEFYB+P+rfyF5qke6UlMr+oXX8Y9NZG2uS1i10IRAdBNEpU8jiIw+Sc+sNkJXv HbRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701880432; x=1702485232; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=HF1YQgZnnFYudwtI1ROw44uKJPTNDy0fll7Qx+JhToM=; b=oMKu3/csK/yQzDnnut5mXR6ONVzQ7Wq8RM9NGi6Kydv27gOaOXVxyFuLuu/x5Hyhqh Hc8ChJV86D+lOmUWvPGs4emlKBFQBHVnV5V5wzTQY5R2vM1N20vdJAM226XEm4tvoPGF MtmGzZ1ozjSs/WZC2flDTysVskYxEzC8Q1kjIGi6axaiazHfJvIFFuPQBCgFX/f3XNB/ pRvLxNdpwbik4F3gKGuVSOFC1Oc1/vGQaWlolISoRo+em3EUk3i2Hl0gbya7X4NBDrlu aZeseUU88TpkQs8DLdGNl196kxBRkTSI5Gl/7CKQNZUvsQscdKKlT8Z5hz6ijMJoLmLq 3tMg== X-Gm-Message-State: AOJu0YwIL3iNWrZrMzBleBEoFlZDH7p/l0rM0lxcwahTQ1wLRThbBIgZ xmWryz4Sh7W6UGQIcN7ynkM= X-Google-Smtp-Source: AGHT+IEzFKjfdizdum3gsY3tpYNXyfK84GENzdP2+P2bJ3rCL5Gpyc9jcPT9J7e1S+S8/yZ1doZ+ag== X-Received: by 2002:a6b:7316:0:b0:7b3:c00f:6652 with SMTP id e22-20020a6b7316000000b007b3c00f6652mr1411224ioh.12.1701880431779; Wed, 06 Dec 2023 08:33:51 -0800 (PST) Received: from nathanxps13 (162-195-168-172.lightspeed.stlsmo.sbcglobal.net. [162.195.168.172]) by smtp.gmail.com with ESMTPSA id x10-20020a5eda0a000000b007b442283c5csm2047694ioj.44.2023.12.06.08.33.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 08:33:51 -0800 (PST) Date: Wed, 6 Dec 2023 10:33:49 -0600 From: Nathan Bossart To: Tom Lane Cc: Andrew Dunstan , Joe Conway , Davin Shearer , PostgreSQL-development Subject: Re: Emitting JSON to file using COPY TO Message-ID: <20231206163349.GA2873889@nathanxps13> References: <2554e520-e103-8978-dcb5-807dfeb77402@dunslane.net> <926ff917-8371-40ec-b5e6-ab7b0e09bdc5@joeconway.com> <315b81d4-4b67-7828-0355-3808cd14acd1@dunslane.net> <7a60faf6-e7f1-419d-aee6-10a78ea2fe81@joeconway.com> <2e7ff718-895d-83fc-46f7-be25e23b23b4@dunslane.net> <1104915.1701877459@sss.pgh.pa.us> <19a5f9d8-bd1f-9!e51-0f5b-510c1189a8a7@dunslane.net> <1110690.1701880139@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1110690.1701880139@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Dec 06, 2023 at 11:28:59AM -0500, Tom Lane wrote: > It might be acceptable to plan on improving the performance later, > depending on just how bad it is now. On 10M rows with 11 integers each, I'm seeing the following: (format text) Time: 10056.311 ms (00:10.056) Time: 8789.331 ms (00:08.789) Time: 8755.070 ms (00:08.755) (format csv) Time: 12295.480 ms (00:12.295) Time: 12311.059 ms (00:12.311) Time: 12305.469 ms (00:12.305) (format json) Time: 24568.621 ms (00:24.569) Time: 23756.234 ms (00:23.756) Time: 24265.730 ms (00:24.266) 'perf top' tends to look a bit like this: 13.31% postgres [.] appendStringInfoString 7.57% postgres [.] datum_to_json_internal 6.82% postgres [.] SearchCatCache1 5.35% [kernel] [k] intel_gpio_irq 3.57% postgres [.] composite_to_json 3.31% postgres [.] IsValidJsonNumber -- Nathan Bossart Amazon Web Services: https://aws.amazon.com