PostgreSQL 9.4 и pg_repack

У нас есть сценарии хранения в БД остывающих UGC-данных. Чем старше данные, тем реже за ними приходят. Таблицы с такими данными мы партиционируем по времени и по мере остывания данных перемещаем их с SSD-дисков на SATA. Это даёт очень некислую экономию на стоимости железа. В PostgreSQL есть родной …

more ...

Pgcheck и отставшие реплики

Два месяца назад мы анонсировали pgcheck — инструмент для автоматической балансировки нагрузки на базы PostgreSQL с использованием PL/Proxy. Сегодня мы поправили все найденные проблемы, связанные с новой функциональностью — pgcheck теперь учитывает отставание реплик и не отправляет читающие запросы на отставшие реплики.

Исходники и документация на github. Наслаждайтесь.

more ...

PostgreSQL и SystemTap

Пролог

Однажды мы стали наблюдать странные проблемы с производительностью PostgreSQL 9.4 на пишущей нагрузке с большим shared_buffers. Сама проблема хорошо описана тут, но она не относится к теме поста. Поскольку PostgreSQL не имеет аналога интерфейса ожиданий Oracle, мы написали пару простых SystemTap скриптов для локализации проблемы. Ниже немного …

more ...

Ещё один способ раскрасить psql

В этом посте вы найдёте скриншоты и конфиги ещё одного раскрашивания цветом psql. Целью было сделать такую цветовую схему, которая одинаково хорошо бы смотрелась на терминалах со светлым и тёмным фонами.

Пример файла .bashrc:

#!/bin/bash

export YELLOW=`echo -e '\033[1;33m'`
export LIGHT_CYAN=`echo -e '\033[1 …
more ...

Pgcheck

Месяц назад я рассказывал о первых шагах Яндекс.Почты с PostgreSQL и, в частности, о наших инструментах обеспечения отказоустойчивости. Один из них pgcheck — средство мониторинга конечных баз с PL/Proxy-машин и изменения выдачи функции plproxy.get_cluster_partitions для распределения нагрузки на базы.

Больше информации можно найти на github …

more ...