Как предотвратить запись в журнал только на одну таблицу в PostgreSQL?

StackOverflow https://stackoverflow.com/questions/38090

  •  09-06-2019
  •  | 
  •  

Вопрос

Я подумываю о доставке журналов Журналов записи впереди (WAL ) в PostgreSQL для создания базы данных с теплым резервированием. Тем не менее, у меня есть одна таблица в базе данных, которая получает огромное количество INSERT / DELETE каждый день, но меня не волнует защита данных в ней. Мне было интересно, чтобы уменьшить количество производимых WAL, есть ли способ предотвратить запись какой-либо активности на одной таблице в WAL?

Это было полезно?

Решение

К сожалению, я не верю, что есть. Ведение журнала WAL работает на уровне страницы, который намного ниже уровня таблицы и даже не знает, на какой странице хранятся данные из какой таблицы. На самом деле, файлы WAL даже не знают, какие страницы принадлежат какой базе данных .

Возможно, вы захотите перенести вашу таблицу высокой активности на совершенно другой экземпляр PostgreSQL. Это кажется радикальным, но я не могу придумать другого пути, чтобы избежать появления этой активности в ваших файлах WAL.

Другие советы

Наткнулся на этот старый вопрос, на который теперь есть лучший ответ. В Postgres 9.1 введены «Unlogged Tables», которые представляют собой таблицы, которые не регистрируют свои изменения DML в WAL. См. Документы для получения дополнительной информации, но, по крайней мере, сейчас есть решение этой проблемы.

См. Ожидание 9.1 - НЕЗАКОННЫЕ таблицы от depesz и 9,1 документа .

Чтобы предложить один вариант для моего собственного вопроса. Есть временные таблицы - " временные таблицы автоматически удаляются в конце сеанса или, возможно, в конце текущей транзакции (см. ON COMMIT ниже) " - которые, я думаю, не генерируют WAL. Тем не менее, это не может быть идеальным, как создание таблицы & amp; дизайн должен быть в коде.

Я бы подумал о memcached для таких вариантов использования, как этот. Вы даже можете распределить нагрузку на кучу дешевых машин.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top