Это вики-сайт сообщества для сбора различных знаний о PostgreSQL. Нет ничего слишком обычного или неясного. Публикуйте все, что вы знаете, что поможет другим максимально использовать эту базу данных.
Одна из первых полезных вещей, которые я узнал о postgres, - это некоторые из таблиц postgres, в которых хранится информация об экземпляре postgres, например:
su - postgres
psql
SELECT * FROM pg_stat_activity;
Показывает много информации о текущих действиях в экземпляре postgres, то есть о том, какие клиенты подключены к нему, какие запросы они сейчас выполняют и как долго и т. Д.
Руководство по настройке производительности: http://anchor.com.au/hosting/dedicated/Tuning_PostgreSQL_on_your_Dedicated_Server
Для новичков:
Не запускайте службу и не думайте, что она готова к работе прямо из коробки. Большинство установок имеют настройки по умолчанию для потребления памяти, которые заставляют службу работать так, как если бы она была на КПК. Вы захотите поднять эти цифры на что-то большее.
Если вы настраиваете настройку для выделенного сервера, я понял, что общее потребление памяти - как совместно используемой, так и для каждого процесса - не должно превышать от 1/3 до 1/2 объема памяти сервера. Причина этого в том, что PostgreSQL делает определенные предположения о том, как осуществляется доступ к данным. Одна из них заключается в том, что ваша ОС будет знать, как лучше выполнять кэширование файлов и блоков, чем она, поэтому вы захотите оставить оперативную память доступной для ОС для кэширования доступа к файловой системе.
Сигналы, на которые реагирует PostgreSQL (относится к более новым версиям). Спасибо Эвану Андерсону!
По общему мнению, ServerFault пока что JFS является журналируемой файловой системой, предпочтительной для движков баз данных, работающих на установках Linux.
Если я смогу найти другие рекомендации для BSD, я отредактирую их и опубликую здесь.