COPY FROM - to avoid WAL generation

Поиск
Список
Период
Сортировка
От Ravi Krishna
Тема COPY FROM - to avoid WAL generation
Дата
Msg-id 89305671.347835.1534863603311@mail.yahoo.com
обсуждение исходный текст
Ответы Re: COPY FROM - to avoid WAL generation  (Jeff Ross <jross@openvistas.net>)
Re: COPY FROM - to avoid WAL generation  (Andres Freund <andres@anarazel.de>)
Список pgsql-general
In a recent thread of mine I learned something very interesting.  If a table is created and data is loaded via COPY FROM within the same transaction, then PG will be smart enough to not generate WAL logs because all it needs to do is to track the status of the transaction and let the data load go to the new data file created for the table.  If committed, the table is released for other sessions, if rolledback, vaccum will delete the data file later on.

I tested it as follows for a table with 50 milllion rows.  No indexes.

Case 1
  - create the table first.
  - in a separate transaction load the 50 million rows.

Took 3 min 22 seconds

Case 2
  - start transaction
  - create table
  - load 50 million rows
  - commit transaction

Took: 3 min 16 seconds.

Am I missing anything?

В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: How to check whether table is busy or free before running theALTER or creating TRIGGER on that table
Следующее
От: Jeff Ross
Дата:
Сообщение: Re: COPY FROM - to avoid WAL generation