PostgreSQL
August 28, 2022

Установка дополнительных расширений для БД в кластере PostgreSQL

Расширений для кластера PostgreSQL очень много. В этой небольшой статье мы добавим несколько расширений для БД db1 в кластере PostgreSQL.

Поехали!

export POSTGRES=$(yc postgresql cluster get cam-postgres --format=json | jq -r ".id")

Посмотрим в начале, что у нас уже установлено:

yc postgresql database list --cluster-id $POSTGRES
+------+----------------------+--------+------------+---------+------------+-------------------+
| NAME |      CLUSTER ID      | OWNER  | LC COLLATE | LC TYPE | EXTENSIONS | TEMPLATE DATABASE |
+------+----------------------+--------+------------+---------+------------+-------------------+
| db1  | c9qis2soj05q5fal9ue0 | cameda | C          | C       |            |                   |
+------+----------------------+--------+------------+---------+------------+-------------------+

У нас установлено ровно ничего.

Добавим следующие расширения:

pg_buffercache
pg_repack
pg_stat_kcache
pg_stat_statements
yc postgresql database update db1 --cluster-id $POSTGRES --extensions pg_buffercache=1.3 --extensions pg_repack=1.4.7 --extensions pg_stat_kcache=2.2.0 --extensions pg_stat_statements=1.9 --async

Посмотрим, что стало:

yc postgresql database list --cluster-id $POSTGRES
+------+----------------------+--------+------------+---------+--------------------------------+-------------------+
| NAME |      CLUSTER ID      | OWNER  | LC COLLATE | LC TYPE |           EXTENSIONS           | TEMPLATE DATABASE |
+------+----------------------+--------+------------+---------+--------------------------------+-------------------+
| db1  | c9qis2soj05q5fal9ue0 | cameda | C          | C       | pg_buffercache:,               |                   |
|      |                      |        |            |         | pg_repack:, pg_stat_kcache:,   |                   |
|      |                      |        |            |         | pg_stat_statements:            |                   |
+------+----------------------+--------+------------+---------+--------------------------------+-------------------+

Готово!

Полезные ссылки.

Создали кластер здесь: https://teletype.in/@cameda/Lheee0sIIqV
Права админа дали тут: https://teletype.in/@cameda/R5_8i_jmacK
Список возможных расширений для установки:
https://cloud.yandex.ru/docs/managed-postgresql/operations/extensions/cluster-extensions
Про pg_stat_statements: https://habr.com/ru/post/488968/
Про pg_repack: https://habr.com/ru/company/otus/blog/672102/
PostgresPro pg_repack: https://postgrespro.ru/docs/enterprise/9.6/app-pgrepack
PostgresPro pg_stat_statements: https://postgrespro.ru/docs/postgrespro/10/pgstatstatements?lang=ru-en
Вот здесь информация от Владимира Бородина о pg_stat_kcache:
https://habr.com/ru/company/pgdayrussia/blog/329178/
Поиск самых дорогих запросов в базе: https://zen.yandex.ru/media/id/5af88d8c482677990692cd7c/iscem-samye-dorogie-query-v-postgresql-5cf176fc66dc4c00afb64630
PostgresPro buffercache:
https://postgrespro.ru/docs/postgrespro/11/pgbuffercache?lang=en