Postgres оптимизировать для вставки / только для чтения - PullRequest
3 голосов
/ 26 мая 2011

Я работаю над базой данных со следующими характеристиками:

  • Множество вставок (в диапазоне 1k / сек)
  • Много индексов на данных, сложные объединения
  • НЕТ Удаляет или обновляет, только вставляет, читает и удаляет таблицы
  • Мне все равно, отражают ли чтения в базе данных точное состояние
  • Данные не являются критическими,Я уже запускаю fsync = off

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

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

Вы можете отключить WAL, возможно, указав его на / dev / null или RAMDISK. Обратите внимание, что есть предположение, что вы, возможно, не сможете перезапустить БД даже после полной остановки, поэтому я советую соблюдать осторожность и тестировать.

Убедитесь, что вы кластеризуете свои таблицы. Разделение может также помочь.

Конечно, отключите synchronous_commits.

http://wiki.postgresql.org/wiki/FAQ#How_do_I_tune_the_database_engine_for_better_performance.3F

1 голос
/ 15 февраля 2013

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...