Рассмотрим установку расширения на примере pgsentinel
pgsentinel – хранение истории активных сессий
Расширение pgsentinel предоставляет возможность собирать и просматривать историю активных сессий в PostgreSQL.
Требуется установленная версия PostgreSQL не ниже PostgreSQL 9.6 или выше.
Перед сборкой убедится что есть:
- PostgreSQL version is 9.6 или выше.
- Установлен пакет разработки PostgreSQL(postgresql(номер версии)-devel)(gcc,llvm,clang ) или собран PostgreSQL из исходников(у нас из снепшота в 12.1 уже все стоит, можно ничего не ставить)
Если это не 12.1 из снепшотов , то каких пакетов не хватает в конкретном случае, можно узнать из сообщений об ошибках при компиляции. - Переменная PATH настроена таким образом, что команда
pg_config
доступна и запускается. (у нас запускается в 12.1) (команду можно запустить для проверки она безопасная)
Типичная установка для 12.1
Поскольку pgsentinel использует расширение pg_stat_statements (официально связанное с PostgreSQL) для отслеживания того, какие запросы выполняются в базе данных, нужно добавить следующие записи в postgresql.conf:
После добавления этих строк нужно перезапустить экземпляр бд.
Важно: Лучше конечно pg_stat_statements,pgsentinel ставить до запуска прода в эксплуатацию, но если забыли то лучше сделать после 18-00 по согласованию с командой продукта.
После того, как экземпляр БД перезапущен
Создаем в /u01/postgres директорию external_extensions
владелец директории и все что внутри postgres
В эту директорию (external_extensions) закидываем архив с расширением скачать можно тут → https://github.com/pgsentinel/pgsentinel
и разархивируем
Далее
После чего можно уже создать расширение:
Коннект в БД
\c имя_БД
Проверить можно так:
Коннект в нужную бд и выполняем