Ad Widget
Collapse
Партиционирование в PostgreSQL
Collapse
X
-
Да согласен, исправил в wiki.После эксплуатации Zabbix (600 items/sec) в конфигурации с партиционированием Postgres, появились некоторые соображения и замечания по поводу предложенной схемы. Коротко опубликовал их в блоге (english):
p.s.
ссылки запрещены, так что вот в таком вот виде.
Нужно заменить ноль в bl0g на "o".Comment
-
Имеет ли смысл использование патча
в версии 1.8.13 ?
Может казаться, но загрузка на базу большая.Comment
-
Не имеет смысла, там уже встроен патч исправляющий эту проблему.Имеет ли смысл использование патча
в версии 1.8.13 ?
Может казаться, но загрузка на базу большая.Comment
-
Пожалуйста поподробней, что значит ваше "Может казаться" ?Имеет ли смысл использование патча
в версии 1.8.13 ?
Может казаться, но загрузка на базу большая.
Вы обновились или что? что изменилось?
опишите пожалуйста все.Comment
-
Здравствуйте!
Огромное спасибо dotneft за столь подробное руководство по использованию разбиений в БД zabbix!
В данный момент я настраиваю связку zabbix 2.0 с PostgreSQL 9.1 по этому руководству. Удалил внешние ключи, появившиеся в схеме 2.0 и относящиеся к таблицам с разбиениями. Как Postgres DBA я можно сказать никакой, поэтому возникли некоторые вопросы по предлагаемой реализации.
1. При вставке записи, вызывающей срабатывание триггера на создание разбиения (то есть первой записи за новый временной интервал), в любую из таблиц с разбиениями, эта первая запись попадает в основную таблицу, а не в созданную таблицу-разбиение. Все следующие записи попадают уже в таблицу-разбиение согласно созданному RULE. Я что-то неправильно сделал/настроил или чего-то не хватает в триггерной функции?
2. Есть таблица auditlog_details, связанная с таблицей auditlog, но без поля clock. Это не позволяет воспользоваться шаблонами функций для создания ее в разбиения. В свою очередь, использование разбиения таблицы auditlog не позволяет использовать внешние ключи на нее. Каким образом правильно производить удаление устаревших записей из этой таблицы?
Хотел бы получить комментарии/советы по данным вопросам.Comment
-
Можно попробовать добавить эту колонку и сделать секционирование по ней тоже. Но я этого не тестил.2. Есть таблица auditlog_details, связанная с таблицей auditlog, но без поля clock. Это не позволяет воспользоваться шаблонами функций для создания ее в разбиения. В свою очередь, использование разбиения таблицы auditlog не позволяет использовать внешние ключи на нее. Каким образом правильно производить удаление устаревших записей из этой таблицы?Comment
-
Добрый день.
Спасибо за мануал.
У меня периодически выскакивают deadlockи, сегодня получил новый - http://paste.kde.org/537590/
Вы не могли бы помочь?Comment
-
Конкретно такое - http://paste.kde.org/537590/, первый раз.
Было еще при update для таблицы items.
Кстати, видел здесь на форуме, что надо как-то тюнить таблицы items и triggers, можете ,что-нибудь подсказать, на что обратить внимание?Comment
-
Доброго времени суток.
В базах данных я ещё весьма зелён, но попытался всё сделать по вашему мануалу (за который большое спасибо).
Всё делал на чистой базе (zabbix ver 2.0.2). Прописал партиции только для таблицы history (для пробы) и получаю следующую картину:
При вводе данных, строка, которая инициирует функцию создания новой дочерней таблицы, попадает не в созданную дочернюю таблицу, а в мастер таблицу. И следовательно когда дропается устаревшая таблица, то остаётся запись в мастер таблице, хотя их там (как я понял) вообще не должно быть.Comment
-
Прошло много лет, в постгресе появился create table ... like ... including, и, скорее всего, функции для копирования индексов и констрейнтов уже не нужны. Если только для универсальности или обратной совместимости.
Я, совсем заколебавшись бороться с заббиксом и дедлоками, даже и не вспомнил о партиционировании. Приятно видеть, что кому-то пригодилось. :-)Comment
Наверное вопрос был не совсем корректен, сорри.
Comment