Truncating/vacuuming relations on full tablespaces

Поиск
Список
Период
Сортировка
От Thom Brown
Тема Truncating/vacuuming relations on full tablespaces
Дата
Msg-id CAA-aLv4T2fY8Uogy0y0B0U7Y+eywEue=M6PPjMKQgO+MjF9uSw@mail.gmail.com
обсуждение исходный текст
Ответы Re: Truncating/vacuuming relations on full tablespaces  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
Re: Truncating/vacuuming relations on full tablespaces  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
Hi,

Currently, when attempting to vacuum a table on a tablespace with no space left, we get an error:

postgres=# vacuum test;
ERROR:  could not extend file "pg_tblspc/19605/PG_9.6_201508111/12382/19616_vm": No space left on device
HINT:  Check free disk space.

This is because it first tries to grow the visibility map file.

We also get a similar problem when attempting to truncate with restart identity:

postgres=# truncate table test restart identity;
ERROR:  canceling autovacuum task
CONTEXT:  automatic vacuum of table "postgres.public.test"
ERROR:  could not extend file "base/12382/16391": No space left on device
HINT:  Check free disk space.
STATEMENT:  truncate table test restart identity;

I guess a workaround for the 2nd case is to truncate without restarting the identify, then truncate again with restart identify, or just resetting the sequence.  In any case, someone will likely be running this command to free up space, and they can't due to lack of space.

But shouldn't we not be creating FSM or VM files when truncating?

ISTM that the vacuum case is one we'd really want to avoid, though, as it's trickier to work around the problem.

Thom

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

Предыдущее
От: Anastasia Lubennikova
Дата:
Сообщение: Re: PATCH: index-only scans with partial indexes
Следующее
От: Teodor Sigaev
Дата:
Сообщение: Re: [PATCH] Microvacuum for gist.