kznalp

kznalp

Эксперименты по анализу и оптимизации производительности PostgreSQL. Вначале любая оригинальная теория признается абсурдной, потом — верной, потом — самоочевидной и незначительной, и, наконец, столь важной и самобытной, что бывшие критики присваивают ее себе. — Уильям Джеймс (1842–1910) Эксперименты по анализу и оптимизации производительности PostgreSQL. Оперативно-тактический комплекс мониторинга СУБД PostgreSQL - PG_HAZEL "Орешник". https://t.me/pg_hazel https://dzen.ru/kznalp
Пикабушник
в топе авторов на 328 месте
30К рейтинг 144 подписчика 16 подписок 426 постов 35 в горячем
2

PG_HAZEL "Орешник" - Революционный комплекс для анализа производительности СУБД PostgreSQL

PG_HAZEL "Орешник" - Революционный комплекс для анализа производительности СУБД PostgreSQL Субд, Postgresql, Пресс-релиз, Длиннопост

Слон может немного отдохнуть в тени орешника.

📅 Дата публикации: 15 сентября 2025 года
📍 Место: Россия

Новая веха в мониторинге и диагностике производительности PostgreSQL

Комплекс PG_HAZEL представляет собой инновационное решение для глубокого анализа производительности СУБД PostgreSQL. Этот инструмент сочетает в себе методы статистического анализа, мониторинга в реальном времени и причинно-следственного моделирования, что позволяет точно определять корневые причины инцидентов производительности и прогнозировать потенциальные сбои.

PG_HAZEL использует методы корреляционного анализа для установления взаимосвязей между:

  • Метриками ОС (iostat, vmstat, использование CPU, памяти, дискового I/O).

  • Ожиданиями СУБД PostgreSQL (типы ожиданий IO, IPC, LWLock, и др.).

  • Показателями производительности СУБД (операционная скорость, ожидания СУБД, индикатор деградации производительности СУБД).

💡 Ключевые особенности PG_HAZEL

  1. Тактический и оперативный анализ
    PG_HAZEL работает на тактическом уровне, анализируя влияние отдельных SQL-запросов на производительность СУБД. Он идентифицирует запросы, которые оказывают наибольшее негативное воздействие, и связывает их с конкретными типами ожиданий (IO, IPC, LWLOCK).

  2. Многомерный анализ производительности
    PG_HAZEL интегрирует данные из различных источников, включая метрики ОС (iostat, vmstat), события ожидания PostgreSQL и статистику выполнения SQL-запросов. Это позволяет построить единую модель производительности и количественно оценить вклад каждого фактора в общую производительность СУБД.

  3. Планируемое направление развития : причинно-следственный анализ и прогнозное моделирование, визуализация и интерактивные дашборды
    Используя методы причинности по Грэнджеру и байесовские сети, комплекс поможет выявляет не просто корреляции, а реальные причинно-следственные связи между метриками. Например, он может определить, что рост времени отклика диска (await) вызывает увеличение времени ожидания ввода-вывода в PostgreSQL, что приводит к деградации производительности. Используя методы ARIMA и машинного обучения возможно будет прогнозировать инциденты производительности СУБД PostgreSQL , таких как исчерпание дискового пространства или достижение критической нагрузки на CPU. Это позволит администраторам СУБД заранее принимать превентивные меры.
    Тепловые карты(heatmaps) корреляций и дашборды, позволят быстро выявлять аномалии и анализировать их в контексте всех метрик.

🚀 Практическое применение

PG_HAZEL уже успешно применяется для анализа инцидентов производительности в реальных условиях.

Кроме того, комплекс используется для нагрузочного тестирования, помогая определить предельные значения нагрузки, которые СУБД может выдержать без деградации производительности.
📈 Преимущества подхода

Раннее обнаружение проблем

Анализ метрик ОС позволяет выявлять потенциальные проблемы до их воздействия на производительность СУБД:

  • Прогнозирование исчерпания дискового пространства

  • Выявление растущей нагрузки на CPU и память

  • Обнаружение деградации производительности дисковых подсистем

Снижение времени восстановления

Точное определение корневой причины инцидентов значительно сокращает время восстановления:

  • Четкое разграничение проблем ОС и проблем СУБД

  • Возможность фокусирования на реальной причине, а не симптомах

📊 Примеры использования:

1.Рост ожиданий типа IO в PostgreSQL:

В ходе анализа инцидента производительности PG_HAZEL выявил, что наибольшая корреляция наблюдается между ожиданиями типа IPC и снижением операционной скорости СУБД. Это указало на проблему взаимодействия между процессами, что позволило администраторам быстро устранить причину.

2.Рост времени отклика дисков в iostat:

  1. Начало инцидента: Рост утилизации CPU и значений iowait в метриках ОС

  2. Корреляционный анализ: Выявление высокой корреляции между:
    - Ростом времени ожидания записи для устройств хранения (/data и /wal)
    - Снижением производительности СУБД
    - Ростом ожиданий типа IO в PostgreSQL

  3. Заключение: Первичной причиной являлись проблемы на уровне дисковых подсистем

💬 Цитата разработчика

«PG_HAZEL — это не просто инструмент мониторинга, а экспертная система, которая превращает разрозненные метрики в понятные и осуществимые предложения. Наша цель — сделать диагностику производительности PostgreSQL максимально автоматизированной и точной».

🔮 Планы развития

В ближайших планах развития PG_HAZEL — разработка и внедрение методов причинно-следственного анализа и прогнозного моделирования.

📌 О компании

Разработчик PG_HAZEL специализируется на создании решений для мониторинга и анализа производительности СУБД PostgreSQL.

Наша миссия — помогать компаниям поддерживать высокую производительность и надежность их баз данных.

📞 Контакты для СМИ

Для получения дополнительной информации обращайтесь:
Имя: Сунгатуллин Ринат Раисович
Телефон: +7 927 245 80 49
Email: kznalp@yandex.ru
Веб-сайт: https://dzen.ru/kznalp

💎 Заключение

PG_HAZEL устанавливает новый стандарт в мониторинге и диагностике производительности PostgreSQL. Его способность объединять данные из различных источников, выявлять корневые причины проблем и прогнозировать инциденты делает его незаменимым инструментом для администраторов баз данных и IT-специалистов.

Для получения более подробной информации посетите https://dzen.ru/kznalp.

PG_HAZEL : комплексное решение для мониторинга и анализа производительности СУБД PostgreSQL.

Показать полностью
3

PG_HAZEL + VMSTAT : Причины роста ожиданий СУБД PostgreSQL

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL + VMSTAT : Причины роста ожиданий СУБД PostgreSQL Субд, Postgresql, Исследования, Длиннопост

Кооперация усилий и исследования на стыке дисциплин - основа любых прорывных технологий.

Вопрос

Какие значения метрики vmstat могут являться причиной роста ожиданий СУБД PostgreSQL?

Ответ

⚙️ 1. Высокое значение wa (I/O wait)

Что показывает:

  • Процент времени, когда процессоры простаивают в ожидании завершения операций ввода-вывода (I/O).

Причины роста ожиданий СУБД:

  • Медленная дисковая подсистема (например, высокая задержка записи/чтения).

  • Интенсивные операции записи WAL (Write-Ahead Log) или чтения больших данных.

  • Недостаточная производительность хранилища (например, перегруженные диски RAID или облачные диски с ограниченным IOPS).

Связь с PostgreSQL:

Рост wa часто коррелирует с ожиданиями типа IO в PostgreSQL (например, datafile read, wal write) .

📊 2. Высокие значения bi (blocks in) и bo (blocks out)

Что показывают:

  • Количество блоков, читаемых (bi) и записываемых (bo) с диска в секунду.

Причины роста ожиданий СУБД:

  • Активная работа с большими объемами данных (например, полное сканирование таблиц, интенсивная запись WAL).

  • Неэффективные запросы, вызывающие чрезмерный I/O.

Связь с PostgreSQL:

Высокие bi/bo могут указывать на проблемы с ожиданиями BufferPin или IO в PostgreSQL .

💻 3. Низкое значение id (idle time) при высоком us (user time) или sy (system time)

Что показывает:

  • us: Время выполнения пользовательских процессов (например, вычисления в PostgreSQL).

  • sy: Время выполнения системных вызовов (например, управление памятью, планировщик ОС).

Причины роста ожиданий СУБД:

  • Высокая нагрузка на CPU из-за сложных запросов (агрегации, JOINs).

  • Конкуренция за ресурсы CPU (например, из-за параллельных процессов).

  • Резкий рост sy может указывать на проблемы с системными вызовами (например, частое переключение контекста).

Связь с PostgreSQL:

Это может коррелировать с ожиданиями CPU в PostgreSQL или блокировками (например, LWLock) .

🔄 4. Рост значения b (processes sleeping)

Что показывает:

  • Количество процессов, находящихся в состоянии ожидания (например, из-за I/O или блокировок).

Причины роста ожиданий СУБД:

  • Процессы PostgreSQL ждут завершения I/O-операций или освобождения блокировок.

  • Высокая конкуренция за ресурсы (диск, память, CPU).

Связь с PostgreSQL:

Прямо указывает на процессы, которые могут быть заблокированы в состоянии waiting в pg_stat_activity .

💾 5. Аномалии с swpd (swap used) и si/so (swap in/out)

Что показывают:

  • Использование swap-памяти и активность обмена с диском.

Причины роста ожиданий СУБД:

  • Нехватка оперативной памяти (например, из-за большого shared_buffers или неоптимизированных запросов).

  • Активное использование swap приводит к резкому росту I/O-ожиданий.

Связь с PostgreSQL:

Может вызывать ожидания, связанные с памятью (например, buffer read) или общим замедлением из-за свопинга .

📈 6. Сочетание высокого wa с низким id и высокими bi/bo

Интерпретация:

  • Это классический признак I/O-bound системы, где диск становится узким местом.

Пример:

Если wa постоянно превышает 20-30%, а id близок к 0, это указывает на перегруженность дисковых подсистем .

💎 Рекомендации по анализу:

Пороговые значения:

  1. wa > 10-15% часто указывает на проблему с I/O.

  2. us + sy > 80% может сигнализировать о нехватке CPU.

  3. si/so > 0 — тревожный признак нехватки памяти.

Эти метрики помогают быстро определить тип проблемы (I/O, CPU, память) и начать углубленный анализ именно тех компонентов, которые вызывают ожидания в СУБД.

🚨 Пример из практики:

В PG_HAZEL : Определение причин инцидента производительности СУБД описывается инцидент, где рост wa в vmstat сопровождался увеличением времени записи на дисках /data и /wal, что прямо коррелировало с ростом ожиданий типа IO в PostgreSQL.

Дополнительные материалы

Анализ и аудит состояния инфраструктуры сервера СУБД с точки зрения связи производительности СУБД и состояния операционной системы.

Показать полностью
1

PG_HAZEL + CS/VMSTAT : корреляция ожиданий СУБД PostgreSQL и переключений контекста ОС

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL + CS/VMSTAT : корреляция ожиданий СУБД PostgreSQL и переключений контекста ОС Субд, Postgresql, Тестирование, Исследования

СУБД как инструмент анализа состояния ОС.

Задача

Экспериментально подтвердить корреляцию и причинно-следственную связь снижения производительности СУБД PostgreSQL и рост количества переключений контекста ОС (показатель cs метрики vmstat).

Гипотеза и теоретическое обоснование

VMSTAT : Корреляция и причинно-следственная связь роста CS и снижения производительности СУБД PostgreSQL

Рост cs/vmstat сильно коррелирует с ожиданиями блокировок (LWLock и heavyweight locks) в PostgreSQL. Эта корреляция не просто совпадение, а прямое указание на то, что снижение производительности вызвано конкуренцией за ресурсы и высокими накладными расходами ОС на переключение между задачами, которые не могут продвинуться из-за этой конкуренции.

В 99% случаев проблем с PostgreSQL первичны именно ожидания внутри СУБД (Locks, I/O). Резкий рост cs в vmstat — это важнейший сигнал и индикатор этих ожиданий на уровне операционной системы, который говорит о том, что процессы не работают, а ждут, и ОС тратит силы на переключения между ними. Поэтому при росте cs нужно сразу смотреть вглубь — на анализ wait events .

...

Вывод

Гипотеза о причинно-следственной связи ожиданий СУБД и количестве переключений контекста ОС - подтверждается экспериментально:

Первопричина (в СУБД) -> Ожидание (wait event) -> Реакция ОС -> Рост cs

  1. Процесс инициирует ожидание: Сеанс PostgreSQL в процессе выполнения запроса достигает точки, где он не может продолжить работу без какого-то ресурса.
    Пример 1: Ему нужна страница данных с диска. Он инициирует операцию I/O и добровольно переходит в состояние сна (sleep), ожидая её завершения. Это регистрируется как wait event DataFileRead.
    Пример 2: Он пытается изменить строку, но другая транзакция удерживает на ней блокировку. Сеанс вынужденно переходит в состояние сна, ожидая освобождения блокировки. Это регистрируется как wait event lock.

  2. Реакция планировщика задач ОС: Когда процесс PostgreSQL переходит в состояние сна (добровольно или вынужденно), он отдает свой квант времени процессора. Планировщик задач ОС фиксирует это и производит переключение контекста (cs), чтобы отдать освободившееся процессорное время другому готовому к выполнению процессу (например, другому сеансу БД или процессу самой ОС).

  3. Результат: Таким образом, каждое ожидание внутри PostgreSQL (кроме ожидания CPU) приводит к тому, что процесс будет "усыплен", и ОС будет вынуждена выполнить переключение контекста, чтобы не простаивать. Чем больше сеансов одновременно находятся в состоянии ожидания, тем чаще ОС приходится переключаться между ними и другими процессами — рост cs.

Подробности и детали : PG_HAZEL + CS/VMSTAT : корреляция ожиданий СУБД PostgreSQL и переключений контекста ОС

Показать полностью
1

PG_HAZEL + IOSTAT : Определение причин инцидента производительности СУБД

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL + IOSTAT : Определение причин инцидента производительности СУБД Postgresql, Субд, Тестирование, Исследования

Сила - в кооперации усилий !

PG_HAZEL : Определение причин инцидента производительности СУБД

Наибольшая корреляция между ожиданиями СУБД и типом ожиданий IO.

ALARM: более 50% наблюдений - Отклик на запись свыше 5мс

Вопрос

Какое событие является первичным - рост ожиданий чтения/записи в метрике iostat(проблемы устройства) или рост ожиданий типа IO в СУБД PostgreSQL ?

Ответ

Отличный и очень правильный вопрос, который затрагивает самую суть диагностики проблем с производительностью в связке СУБД-жесткий диск.

Короткий ответ: Первичным почти всегда является рост ожиданий чтения/записи в iostat (проблемы на уровне устройства). Рост ожиданий ввода-вывода (I/O wait) в PostgreSQL — это уже следствие этой проблемы.


Продолжение и подробности: PG_HAZEL + IOSTAT : Определение причин инцидента производительности СУБД

Показать полностью
3

Спираль истории совершила очередной виток

Спираль истории совершила очередной виток IT, Postgresql, Яндекс Дзен (ссылка)

Всё в этом мире уже было.


В 1974 году инженеры IBM Дональд Чэмберлин и Рэймонд Бойс разработали первый прототип такого языка. Они назвали его SEQUEL (Structured English Query Language) — "структурированный английский язык запросов". Главная идея заключалась в том, чтобы сделать язык максимально похожим на обычный английский, чтобы даже люди без глубоких знаний программирования могли легко формулировать запросы к базе данных.

Как появился SQL?


Пользователи PostgreSQL и Postgres Pro теперь могут сэкономить время при работе с базами данных. Разработчики из команды Postgres Professional создали ChatPPG — первый ИИ-бот для PostgreSQL. Он решает две ключевые задачи:

  1. Быстрый поиск информации. Чат-бот анализирует вопросы пользователей и за секунды находит ответы в технической документации PostgreSQL (более 2800 страниц), Postgres Pro Enterprise, Postgres Pro Shardman и других продуктах компании. Это избавляет от долгого ручного поиска.

  2. Генерация SQL-запросов. Достаточно описать задачу на русском или английском языке, и ChatPPG сформирует SQL-запрос. Это упрощает работу даже для тех, кто плохо знает синтаксис SQL.

ChatPPG: первый AI-бот для работы с PostgreSQL на естественном языке


Прошло 50 лет и IT-индустрия декларирует те же задачи - снова попытка упростить жизнь тем кто не обладает знаниями.

Неужели в этом задача IT ? Риторический вопрос , конечно.

Показать полностью 1
4

PG_HAZEL : История выполнения и ожиданий - отдельного SQL запроса

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL : История выполнения и ожиданий - отдельного SQL запроса Субд, Postgres, Исследования, Длиннопост

У меня все ходы записаны. Контора пишет(с).

Задача

Получить статистическую картину выполнений и ожиданий по выбранному SQL запросу за период.

Начало

PG_HAZEL : Определение причин инцидента производительности СУБД

Наибольшая корреляция между ожиданиями СУБД и типом ожиданий IO.

Статистика выполнения и ожиданий типа IO по SQL запросу 4111247451725496902

PG_HAZEL : История выполнения и ожиданий - отдельного SQL запроса Субд, Postgres, Исследования, Длиннопост
PG_HAZEL : История выполнения и ожиданий - отдельного SQL запроса Субд, Postgres, Исследования, Длиннопост

История выполнения запроса

PG_HAZEL : История выполнения и ожиданий - отдельного SQL запроса Субд, Postgres, Исследования, Длиннопост

История ожиданий по запросу

PG_HAZEL : История выполнения и ожиданий - отдельного SQL запроса Субд, Postgres, Исследования, Длиннопост

События ожидания DataFileRead и DataFileExtend

Продолжение: PG_HAZEL : История выполнения и ожиданий - отдельного SQL запроса.

Показать полностью 4
7

PG_HAZEL : Определение причин инцидента производительности СУБД

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL : Определение причин инцидента производительности СУБД Субд, Postgresql, Исследования

Зри в корень ! Наука - поможет. Если есть инструмент.

Задача

Определить причины снижения производительности СУБД

Инцидент производительности СУБД

PG_HAZEL : Определение причин инцидента производительности СУБД Субд, Postgresql, Исследования

Дашборд мониторинга Zabbix

Начало инцидента 07:05.

Характерные признаки в ходе инцидента - рост утилизации CPU и значений cpu iowait.

Результат статистического анализа производительности , ожиданий СУБД и метрик vmstat+iostat

Снижение производительности и рост ожиданий типа IO сопровождается ростом времени ожидания записи для устройств, используемых для файловых систем /data и /wal .


Подробности : PG_HAZEL : Определение причин инцидента производительности СУБД

Показать полностью 1
4

Риторический вопрос: PostgreSQL DBA - ученые и исследователи или ремесленники , алхимики и астрологи ?

В дополнении к старой записи Мысли вслух - DBA ремесло или наука ?

Риторический вопрос: PostgreSQL DBA - ученые и исследователи или ремесленники , алхимики и астрологи ? Субд, Postgresql, Контент нейросетей, Длиннопост

Почему современное поколение специалистов по СУБД PostgreSQL больше похоже на ремесленников , астрологов и алхимиков , а не на учёных и исследователей ?

Отличное и более сфокусированное продолжение темы! Применительно к специалистам по PostgreSQL это сравнение раскрывается еще более ярко и конкретно. Сообщество PostgreSQL огромно и разнородно, и в его среде, особенно среди начинающих и практикующих администраторов и разработчиков, действительно сильно влияние «ремесленной», «алхимической» и «астрологической» парадигм.

Давайте разберем, почему это так.

1. Почему похожи на ремесленников?

  • Искусство настройки (postgresql.conf): Настройка PostgreSQL — это во многом ремесло, основанное на опыте и знании «материала». Мастер помнит, как поведет себя СУБД при изменении shared_buffers, work_mem или maintenance_work_mem на конкретном железе с конкретной нагрузкой. Это не всегда строгий расчет, а часто интуитивное понимание, отточенное практикой.

  • Сборка «на коленке» под конкретную задачу: Специалист ремесленник берет «сырую» PostgreSQL и начинает его «обтачивать»: подбирает расширения (pg_partman, timescaledb, pg_cron), настраивает репликацию, пишет специфические индексы (GIN, GiST, BRIN). Результат — уникальная, настроенная под нужды бизнеса система.

  • Культура скриптов и «костылей»: Для решения повседневных задач (бэкапы, мониторинг, очистка) создаются тысячи скриптов на Bash, Python. Это ремесленные инструменты, которые передаются из проекта в проект, обрастают легендами и часто работают просто потому, что «всегда так делали».

2. Почему похожи на алхимиков?

  • Магия исполнения запросов (Execution Plan): Почему запрос сегодня выполняется 2 мс, а завтра — 2000 мс? Планы исполнения могут меняться по мистическим, на первый взгляд, причинам: из-за накопленной статистики, количества записей в таблице, состояния кэша и даже времени суток. Разбор такого плана часто похож на попытку алхимика расшифровать древний манускрипт.

  • Волшебные «посыпы» порошком (Index): Классическая ситуация: запрос тормозит. Специалист добавляет индекс — и все работает мгновенно. Почему этот конкретный индекс (иногда составной, частичный, с включением столбцов) сработал, а другой — нет? Часто ответ — «ну, я почувствовал, что так будет лучше» или «где-то читал про такой случай». Это чистейшая алхимия: добавил правильный ингредиент — получил золото.

  • Ритуалы для борьбы с автовакуумом (AutoVacuum): Настройка автовакуума — это один из самых больших поводов для мистики. Изменение параметров autovacuum_vacuum_scale_factor и autovacuum_analyze_scale_factor для отдельных таблиц — это ритуал, который часто проводят без глубокого понимания внутренних процессов, надеясь на лучшее.

3. Почему похожи на астрологов?

  • Предсказание производительности (Performance Forecasting): Попытки предсказать, как поведет себя система при увеличении нагрузки в 10 раз, или сколько IOPS потребуется для нового проекта, часто основаны не на строгих математических моделях, а на приметах, аналогиях и «чтении звезд» (метрик мониторинга за прошлые периоды).

  • Следование трендам и хайпу: «Все переходят на Kubernetes, давайте и мы загоним туда PostgreSQL!» — звучит как астрологический прогноз: «Меркурий в ретрограде, пора начинать новые дела». Часто это делается без глубокой оценки необходимости и применимости технологии к stateful-приложению, каким является СУБД.

  • Сложная терминология для посвященных: Разговоры о «WAL journal», «MVCC», «checkpoints», «transaction ids wraparound» звучат для непосвященных как заклинания. Специалист оперирует этими понятиями, чтобы объяснить поведение системы, которое со стороны кажется магическим.

Почему именно с PostgreSQL так происходит?

  1. Невероятная гибкость и настраиваемость. PostgreSQL — это не черный ящик. Это конструктор с тысячами винтиков и гаек (параметров конфигурации). Такая свобода требует глубокого понимания, но на практике приводит к тому, что люди начинают крутить ручки наугад.

  2. Огромное количество расширений (extensions). Каждое расширение — это новый пласт потенциальной магии и алхимии. Специалист становится «заклинателем», который приручает эти расширения, не всегда имея возможность заглянуть в их исходный код.

  3. Сложность внутренних механизмов. Такие вещи, как MVCC (Multiversion Concurrency Control), — это очень сложно. Многие используют их, но далеко не все понимают до конца, как именно работает управление версиями строк, транзакциями и их номерами.

Где же ученые и исследователи в мире PostgreSQL?

Они есть, и их работа фундаментальна:

  • Команда разработчиков ядра PostgreSQL. Это именно ученые и инженеры, которые проводят исследования, докапываются до сути, пишут академические работы и реализуют новые функции (например, новые типы индексов, улучшения оптимизатора запросов).

  • Авторы научных статей и докладчики на крупных конференциях. Люди, которые анализируют производительность на уровне дисковых подсистем, памяти, процессоров и строят математические модели работы СУБД.

  • Эксперты по теме, пишущие книги. Такие авторы, как например, Ханс-Юрген Шёниг (Hans-Jürgen Schönig), разбирают сложные концепции и переводят их с «магического» языка на язык инженерии.

Вывод:

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

Ученые же создают тот фундамент, те инструменты и ту науку, которую ремесленники потом применяют на практике, подчас не до конца понимая всю подноготную. Это естественное разделение труда в любой сложной и быстроразвивающейся области.


Каждый пункт - в точку ! Особенно про автовакуум это 100%.


Риторический вопрос: PostgreSQL DBA - ученые и исследователи или ремесленники , алхимики и астрологи ? Субд, Postgresql, Контент нейросетей, Длиннопост

Мне больше интересно быть ученым и исследователем. За 38 лет наремесленичался с избытком.

Показать полностью 2
Отличная работа, все прочитано!