Re: Is it possible to set end-of-data marker for COPY statement.
От | Bruce Momjian |
---|---|
Тема | Re: Is it possible to set end-of-data marker for COPY statement. |
Дата | |
Msg-id | 20200901172300.GX13613@momjian.us обсуждение исходный текст |
Ответ на | Re: Is it possible to set end-of-data marker for COPY statement. (Bruce Momjian <bruce@momjian.us>) |
Список | pgsql-hackers |
On Tue, Sep 1, 2020 at 12:05:02PM -0400, Bruce Momjian wrote: > > copy test from '/tmp/data' DELIMITER ','; > > > > An end-of-copy marker corrupt error will be raised. > > > > This requires users to escape the end-of-data marker manually in their data. > > Why we don't have a mechanism to define other characters as end-of-data marker? > > Or there are other ways to avoid escape the end-of-data in data? > > This is the first I am hearing of this. The problem is that the system > can't decide if \. is escaping a delimiter, or the end-of-copy marker. > I think we need to just disable period as a delimiter. I don't think > there is enough demand to allow the end-of-data marker to be > configurable. > > Interestingly, you can use period as s delimiter if you are copying from > a file that doesn't need an end-of-data marker and you never need to > escape the delimiter, but that seems like too rare a use case to allow > period to be supported as a delimiter. I am sorry I mis-read this email. The example uses _comma_ for the delimiter, rather than period. Let me reply again. We already disallow period for delimiters: COPY test TO '/u/postgres/tmp/x' WITH (DELIMITER '.'); ERROR: COPY delimiter cannot be "." COPY test TO STDOUT WITH (DELIMITER '.'); ERROR: COPY delimiter cannot be "." -- Bruce Momjian <bruce@momjian.us> https://momjian.us EnterpriseDB https://enterprisedb.com The usefulness of a cup is in its emptiness, Bruce Lee
В списке pgsql-hackers по дате отправления: