On 2024-Feb-02, jian he wrote:
> copy (select 1) to stdout with (format json);
> ERROR: syntax error at or near "format"
> LINE 1: copy (select 1) to stdout with (format json);
> ^
>
> json is a keyword. Is it possible to escape it?
> make `copy (select 1) to stdout with (format json)` error message the same as
> `copy (select 1) to stdout with (format json1)`
Sure, you can use
copy (select 1) to stdout with (format "json");
and then you get
ERROR: COPY format "json" not recognized
is that what you meant?
If you want the server to send this message when the JSON word is not in
quotes, I'm afraid that's not possible, due to the funny nature of the
FORMAT keyword when the JSON keyword appears after it. But why do you
care? If you use the patch, then you no longer need to have the "not
recognized" error messages anymore, because the JSON format is indeed
a recognized one.
Maybe I didn't understand your question.
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/