Восстановление Postgres после уничтожения временного табличного пространства - PullRequest
2 голосов
/ 09 декабря 2011

Я пытаюсь ускорить производительность postgresql на ec2.

Узел ec2 структурирован следующим образом: у вас есть медленное, долговременное сетевое хранилище (EBS), а также у вас есть быстрое, энергозависимое хранилище (эфемерное хранилище). Т.е. при сбое системы временная память будет потеряна.

Чтобы повысить производительность дБ, я рассматриваю возможность установки моих postgres temp_tablespaces в каталог, находящийся в эфемерном хранилище. Однако эфемерное хранилище не имеет гарантий долговечности - в случае сбоя системы оно будет полностью и навсегда уничтожено.

Может ли это привести к потере данных? В принципе, мне кажется, что этого не следует, поскольку temp_tablespace используется для временных объектов. Но я не очень хорошо знаком с моделью данных postgres - есть ли здесь опасности, которые я пропускаю?

1 Ответ

1 голос
/ 09 декабря 2011

Да, это должно быть безопасно, если вы потерпите крах до того, как операция, для которой требуется временная таблица, будет полностью зафиксирована, вы должны восстановить ее до точки, предшествующей операции. Хотя я не знаю, очистит ли Postgresql эту область при перезапуске, я бы сам проверил.

Теперь настоящий компьютерщик попытается реализовать файловую систему поверх эквивалента memcache Amazon и использовать это ...

...