Hi, I noticed that psql's tab completion suggests the JSON format for both directions of COPY.
For example: COPY t1 FROM STDIN WITH (FORMAT <TAB><TAB> binary csv json text However, the documentation says that the JSON format is allowed only for COPY TO. If a user selects the suggested "json" candidate, the command fails: COPY t1 FROM STDIN WITH (FORMAT JSON); ERROR: COPY FORMAT JSON is not supported for COPY FROM I think it is misleading for tab completion to suggest syntax that is explicitly unsupported by the documentation and rejected by the server. The attached patch checks the COPY direction and offers "json" only for COPY TO. This applies to both COPY and \copy completion. There is already a separate discussion proposing support for COPY FROM with FORMAT json [1]. If that support is committed, the completion can of course be extended at the same time. However, in the current tree COPY FROM does not support JSON, so I think tab completion should reflect the currently implemented and documented behavior. [1] https://www.postgresql.org/message-id/CAEG8a3%2BwxMXGLcnrDzSF0qTDzH%2BK7_x0FWNAcu-H_j8gKiwFVw%40mail.gmail.com Regards, Taiki Koshino<[email protected]> SRA OSS K.K. TEL: 03-5979-2701 FAX: 03-5979-2702 URL: https://www.sraoss.co.jp/
v1-0001-psql-Do-not-complete-JSON-format-for-COPY-FROM.patch
Description: v1-0001-psql-Do-not-complete-JSON-format-for-COPY-FROM.patch
