psql's \copy (query) with a delimiter yields a syntax error: test=> \copy foo to foo.txt delimiter '|' (works)
test=> \copy (select * from foo) to foo.txt (works) test=> \copy (select * from foo) to foo.txt delimiter '|' ERROR: syntax error at or near "USING" LINE 1: COPY ( select * from foo ) TO STDOUT USING DELIMITERS '|' The problem is that \copy sends USING DELIMITERS for backward compatibility (comment on line 502 of src/bin/psql/copy.c) but that COPY (query) doesn't support USING DELIMITERS: CopyStmt: COPY opt_binary qualified_name opt_column_list opt_oids copy_from copy_file_name copy_delimiter opt_with copy_opt_list ... | COPY select_with_parens TO copy_file_name opt_with copy_opt_list copy_delimiter: /* USING DELIMITERS kept for backward compatibility. 2002-06-15 */ opt_using DELIMITERS Sconst What should be fixed -- COPY or \copy? Does psql's \copy still need backward compatibility to unsupported pre-7.3? -- Michael Fuhr ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings