Our CSV parser – libutils/csv_parser.c – only supports Windows-style line endings, and has no support for different delimiters (only commas are allowed).
It's possible we should do some code cleanup as well.
Delimiters may be only a single character. Unlike some other functions (e.g. parsestringarray() ) take a regular expression to match the pattern on which to split columns. The configurable delimiter for parsing CSV is intentionally limited to a single character because of considerations for parsing speed and minimizing complexity. This is common in other implementations as well, python for example only accepts one-character strings as delimiters.
The parser will accept Unix (LF, aka \n) line endings when explicitly enabled.