On Tue, Mar 26, 2024 at 6:36 PM Bharath Rupireddy <bharath.rupireddyforpostg...@gmail.com> wrote: > > On Tue, Mar 26, 2024 at 1:46 PM Masahiko Sawada <sawada.m...@gmail.com> wrote: > > > > Thank you for updating the patch! Looks good to me. > > > > Please find the attached patch. I've made some changes for the > > documentation and the commit message. I'll push it, barring any > > objections. > > Thanks. v12 patch LGTM. >
While testing the new option, I realized that the tab-completion complements DEFAULT value, but it doesn't work without single-quotes: postgres(1:2179134)=# copy test from '/tmp/dump.data' with (log_verbosity default ); ERROR: syntax error at or near "default" LINE 1: ...py test from '/tmp/dump.data' with (log_verbosity default ); ^ postgres(1:2179134)=# copy test from '/tmp/dump.data' with (log_verbosity 'default' ); COPY 0 Whereas VERBOSE works even without single-quotes: postgres(1:2179134)=# copy test from '/tmp/dump.data' with (log_verbosity verbose ); COPY 0 postgres(1:2179134)=# copy test from '/tmp/dump.data' with (log_verbosity 'verbose' ); COPY 0 Which could confuse users. This is because DEFAULT is a reserved keyword and the COPY option doesn't accept them as an option value. I think that there are two options to handle it: 1. change COPY grammar to accept DEFAULT as an option value. 2. change tab-completion to complement 'DEFAULT' instead of DEFAULT, and update the doc too. As for the documentation, we can add single-quotes as follows: ENCODING '<replaceable class="parameter">encoding_name</replaceable>' + LOG_VERBOSITY [ '<replaceable class="parameter">mode</replaceable>' ] I thought the option (2) is better but there seems no precedent of complementing a single-quoted string other than file names. So the option (1) could be clearer. What do you think? Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com