Re: COPY BINARY is broken...
От | Bruce Momjian |
---|---|
Тема | Re: COPY BINARY is broken... |
Дата | |
Msg-id | 200101230346.WAA02600@candle.pha.pa.us обсуждение исходный текст |
Ответ на | COPY BINARY is broken... (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: COPY BINARY is broken...
|
Список | pgsql-hackers |
Tom, this is fixed, right? > I've just noticed that COPY BINARY is pretty thoroughly broken by TOAST, > because what it does is to dump out verbatim the bytes making up each > tuple of the relation. In the case of a moved-off value, you'll get > the toast reference, which is not going to be too helpful for reloading > the table data. In the case of a compressed-in-line datum, you'll at > least have all the data there, but the COPY BINARY reader will crash > and burn when it sees it. > > Fixing this while retaining backwards compatibility with the existing > COPY BINARY file format is possible, but it seems rather a headache: > we'd need to detoast all the toasted columns, then heap_formtuple a > new tuple containing the expanded data, and finally write that out. > (Can't do it on a field-by-field basis because the file format requires > the total tuple size to precede the tuple data.) Kind of ugly. > > The existing COPY BINARY file format is entirely brain-dead anyway; for > example, it wants the number of tuples to be stored at the front, which > means we have to scan the whole relation an extra time to get that info. > Its handling of nulls is bizarre, too. I'm thinking this might be a > good time to abandon backwards compatibility and switch to a format > that's a little easier to read and write. Does anyone have an opinion > pro or con about that? > > regards, tom lane > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
В списке pgsql-hackers по дате отправления: