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 1r9XvW-000SDn-Ju for pgsql-hackers@arkaria.postgresql.org; Sat, 02 Dec 2023 21:53:30 +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 1r9XvS-00BUBN-Nt for pgsql-hackers@arkaria.postgresql.org; Sat, 02 Dec 2023 21:53:26 +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 1r9XvS-00BUBF-BR for pgsql-hackers@lists.postgresql.org; Sat, 02 Dec 2023 21:53:26 +0000 Received: from mail-il1-x136.google.com ([2607:f8b0:4864:20::136]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1r9XvP-008UaT-EC for pgsql-hackers@postgresql.org; Sat, 02 Dec 2023 21:53:24 +0000 Received: by mail-il1-x136.google.com with SMTP id e9e14a558f8ab-35d53f61754so7478505ab.0 for ; Sat, 02 Dec 2023 13:53:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701554002; x=1702158802; 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=JEcTLyMRufqpIpilbkGp6ZvRb3o/8A1RoGKf2blNpl8=; b=ViAWISCcI2aQDrC2GyJPLLg1NkUmMU5N9UL/S1rp9zWz86Nk47xLbtjpgNdisUwJZy 3i7vMbqQlzsTcFjTr/HWXR++Ckh00QtvbrHjO2M8DZCqOn8W70j4c7UMjJhus/AJe1eH gQ8PQLTSMTH7s2uWxRkzKZiX6wboPo/VAPVhGk+ygnbI8FoqsAhmw6QgH2kjbm5fhjEx 4AGfHcHTkh9sSvdUez3X5QCjjbcjge3ld6j/VGt6cAjtQrgriEEaBkPXtkFfVXoQey9K 6saRxM/y+jpqbADaTObZNS9XxZzqCINCLHt+tY+BM1jSa84jcD9vqog92nDpy6dbIsb2 n0yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701554002; x=1702158802; 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=JEcTLyMRufqpIpilbkGp6ZvRb3o/8A1RoGKf2blNpl8=; b=dSbDR3B48GFEIllByZqm94xw+72FCgxEk8ignOFOjdb9x7OOWc5GOuRh5V2x7LoNnQ Dq96FRgoCXoTbKLoLJuoIq8YiMG5J8jdU/zqAv8NHxwBF0+f878vimS2oeBeyVbQU2TF aUkMQ2w9xb82YqraKkXIgkkQ9mSzHzU+I7fxHfVzNAtSQmBjhQb/1mogGrD4I+Q94ogu R3gY5mDjfq2wqD3rXzfOGt+CNtJo7ofeY+ceOgyJvZBNndR/MKdbAs8TXeZ7M5HGYPtA w81OSl/1kM1W+UckJdvPLih5uTq92C/ggdAL9kQ8197dw9JLz++BTqAGd8BRiByek7BD oZUQ== X-Gm-Message-State: AOJu0YzaWjRnJAZ8Rpjx+p0Q++sA0VwRYfy0qIz1wvJtrzD6NsjDimFO NdWbEP2v8ET6KgnQZ13fY+I= X-Google-Smtp-Source: AGHT+IEh0EHu/WD7YfnLrwqwPh9LH8mYDHhIEatgUV/e+uX8+ayc7Dkxkxd5PVZsvwuv1VtjNpBf+w== X-Received: by 2002:a6b:6607:0:b0:7a9:571c:5694 with SMTP id a7-20020a6b6607000000b007a9571c5694mr2650065ioc.10.1701554002464; Sat, 02 Dec 2023 13:53:22 -0800 (PST) Received: from nathanxps13 (162-195-168-172.lightspeed.stlsmo.sbcglobal.net. [162.195.168.172]) by smtp.gmail.com with ESMTPSA id s5-20020a5e9805000000b007b383e7be86sm1776660ioj.3.2023.12.02.13.53.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Dec 2023 13:53:21 -0800 (PST) Date: Sat, 2 Dec 2023 15:53:20 -0600 From: Nathan Bossart To: Tom Lane Cc: Joe Conway , Davin Shearer , PostgreSQL-development Subject: Re: Emitting JSON to file using COPY TO Message-ID: <20231202215320.GA1855278@nathanxps13> References: <3853387.1701096982@sss.pgh.pa.us> <3a98decf-3fe3-4b49-9b68-fda01338872c@sedlakovi.org> <24e3ee88-ec1e-421b-89ae-8a47ee0d2df1@joeconway.com> <20231201230958.GA1786735@nathanxps13> <411395e0-697e-44ab-be98-dd2047f9a10e@joeconway.com> <398150.1701529880@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <398150.1701529880@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Sat, Dec 02, 2023 at 10:11:20AM -0500, Tom Lane wrote: > So if you are writing a production that might need to match > FORMAT followed by JSON, you need to match FORMAT_LA too. Thanks for the pointer. That does seem to be the culprit. diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index d631ac89a9..048494dd07 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -3490,6 +3490,10 @@ copy_generic_opt_elem: { $$ = makeDefElem($1, $2, @1); } + | FORMAT_LA copy_generic_opt_arg + { + $$ = makeDefElem("format", $2, @1); + } ; copy_generic_opt_arg: -- Nathan Bossart Amazon Web Services: https://aws.amazon.com