Софт

Узнайте о том, как использовать PostgreSQL

Узнайте о том, как использовать PostgreSQL

Николай Самохвалов, хорошо известный в мире PostgreSQL, начал создавать настоящую сокровищницу разнообразных рецептов по работе с PostgreSQL, хранящуюся в репозитории Github.

Хотя документация по PostgreSQL великолепна, в ней часто не хватает практических советов, и эта статья пытается исправить ситуацию.

Учитывая свой более чем 20-летний опыт работы с базами данных, Самохвалов имеет все шансы поделиться своими советами, чтобы помочь другим пользователям PostgreSQL, а также стремится использовать how-tos как постоянную подпитку для системы Postgres.ai своего работодателя.

Если взглянуть на сами рецепты, то, как видно из приведенного ниже примера, они адресованы администраторам PostgreSQL, которые с их помощью могут узнать, как:

  • рассказать EXPLAIN ANALYZE из EXPLAIN (ANALYZE, BUFFERS)?
  • настраивать параметры Linux для OLTP Postgres
  • изменить права собственности на все объекты в базе данных
  • найти избыточные индексы
  • добавить ограничение CHECK без простоя
  • преобразовать физическую реплику в логическую
  • отслеживать риски обхода идентификатора транзакции
  • как не попасть впросак в качестве DBA (DBRE)
  • работа с длительными транзакциями (OLTP)
  • проверка индексов btree на предмет повреждения
  • скомпилировать Postgres на Ubuntu 22.04
  • использовать pg_restore

На момент написания статьи в ней 92 рецепта, но список постоянно пополняется новыми, последний был написан 4 месяца назад. Цель Николая - создать не менее 365 постов.

Просматривая некоторые заметки Николая, вы можете почувствовать, как его многолетний опыт вливается в его записи. Например, в статье «Как найти избыточные индексы» он сначала объясняет, что такое индекс:

Избыточные индексы - это несколько индексов в таблице, которые служат одной и той же цели, или когда один индекс может удовлетворить запросы, которые выполняют все остальные. Два основных примера:

  1. Дублирующие индексы: Два или более индекса, которые содержат одинаковые столбцы в одинаковом порядке, явно избыточны.
  2. Перекрывающиеся индексы: Когда у вас есть многостолбцовый индекс, например, на (a, b), а затем еще один индекс только на (a). Для запросов, которые фильтруют только столбец a, может быть достаточно индекса на (a, b), что делает индекс на (a) потенциально ненужным.

Затем объясняется, зачем вообще нужно пытаться их очистить, прежде чем показать, как их найти.

Или в статье «Как добавить ограничение CHECK без простоя» он сначала объясняет, почему добавление ограничений CHECK может быть полезным:

  • для поддержания лучшего качества данных
  • определить ограничение NOT NULL без простоя в PG12+

прежде чем приступать к их добавлению. Остальные рецепты следуют в том же духе.

Однако если вам не хочется просматривать списки вручную, а хочется задавать вопросы, то теперь существует пользовательский GPT под названием #PostgresMarathon, который настраивается на основе этой базы знаний, основанной на рецептах.

В любом случае, независимо от того, какой вариант вы выберете, несомненно то, что в какой-то момент времени эта база вам очень пригодится.

Читайте также