
Сегодня будем накатывать TimescaleDB поверх установленной PostgreSQL 17 на машине с операционной системой Debian 12.
TimescaleDB — расширение, которое оптимизирует работу с временными рядами в базе данных PostgreSQL.
TimescaleDB реализована как расширение над PostgreSQL и перенимает преимущества PostgreSQL: надежность, безопасность, возможность использовать другие сервисы. При этом TimescaleDB значительно изменила архитектуру базы.
У TimescaleDB, в отличие от PostgreSQL или любой другой реляционной СУБД, при использовании модели данных временных рядов есть три главных преимущества:
- Выше скорость вставки данных временных рядов, особенно при больших размерах базы.
- Количество выполняемых запросов в секунду на порядок выше.
- Ориентированная на временные ряды функциональность.
Установка TimescaleDB
Я буду устанавливать TimescaleDB поверх PostgreSQL 17. Инструкцию по установке PostgreSQL 17 можно найти здесь:
Установка PostgreSQL 17 на Debian 12
Для установки может пригодиться пакет lsb-release
, не во всех сборках Debian он есть:
apt install lsb-release
Для установки может пригодиться пакет wget
, не во всех сборках Debian он есть:
apt install wget
Для установки может пригодиться пакет gpg
, не во всех сборках Debian он есть:
apt install gpg
Установим репозиторий TimescaleDB:
echo "deb https://packagecloud.io/timescale/timescaledb/debian/ $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/timescaledb.list
Добавим TimescaleDB GPG key:
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg

Обновим репозиторий:
apt update

Установим TimescaleDB для PostgreSQL 17:
apt install timescaledb-2-postgresql-17 postgresql-client-17

Нам предлагают затюнить конфигурационный файл PostgreSQL 17.

timescaledb-tune --quiet --yes

Такой тюнинг нужно производить каждый раз после изменения конфигурации сервера, например, после добавления памяти или процессоров.
Перезагружаем PostgreSQL.
systemctl restart postgresql
systemctl status postgresql

Установка TimescaleDB завершена.