<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Postgres on Меланхоличный блог</title><link>https://notes.melancholic.tech/tags/postgres/</link><description>Recent content in Postgres on Меланхоличный блог</description><generator>Hugo</generator><language>ru-RU</language><lastBuildDate>Mon, 06 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://notes.melancholic.tech/tags/postgres/index.xml" rel="self" type="application/rss+xml"/><item><title>Микросервисные БД с Kubernetes, Postgres и CloudNativePG</title><link>https://notes.melancholic.tech/projects/microservice-databases/</link><pubDate>Wed, 28 Feb 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/microservice-databases/</guid><description>Перевод статьи Gabriele Bartolini о том, почему PostgreSQL в Kubernetes уместен, что такое микросервисная БД и какую роль здесь играет CloudNativePG.</description></item><item><title>Рецепт 1. Локальная песочница за пару минут</title><link>https://notes.melancholic.tech/projects/recipe-1-local-playground/</link><pubDate>Sun, 03 Mar 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-1-local-playground/</guid><description>Поднимаем локальную песочницу для CloudNativePG за несколько минут: kind для локального Kubernetes, установка оператора, первый PostgreSQL-кластер, плагин cnpg для kubectl.</description></item><item><title>Рецепт 2. Что CloudNativePG создаёт по умолчанию</title><link>https://notes.melancholic.tech/projects/recipe-2-default-resources/</link><pubDate>Fri, 08 Mar 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-2-default-resources/</guid><description>Разбираем, какие ConfigMaps, Secrets и глобальные объекты PostgreSQL автоматически создаются вместе с кластером CloudNativePG: TLS-сертификаты, mTLS для replication, пользователь app и БД app.</description></item><item><title>Рецепт 3. А как же без суперпользователя?!</title><link>https://notes.melancholic.tech/projects/recipe-3-no-superuser/</link><pubDate>Mon, 11 Mar 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-3-no-superuser/</guid><description>Почему в CloudNativePG у пользователя postgres по умолчанию нет сетевого доступа, как устроен pg_hba и когда стоит включать enableSuperuserAccess.</description></item><item><title>Рецепт 4. Подключение к кластеру через pgAdmin4</title><link>https://notes.melancholic.tech/projects/recipe-4-pgadmin4/</link><pubDate>Fri, 22 Mar 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-4-pgadmin4/</guid><description>Запускаем pgAdmin4 рядом с кластером CloudNativePG в режиме desktop одной командой плагина cnpg для evaluation/demo/учебных задач.</description></item><item><title>Рецепт 5. Миграция PostgreSQL в Kubernetes с ~0 downtime</title><link>https://notes.melancholic.tech/projects/recipe-5-zero-downtime-migration/</link><pubDate>Wed, 27 Mar 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-5-zero-downtime-migration/</guid><description>Как через логическую репликацию и плагин cnpg перевезти PostgreSQL из RDS, виртуалки или другого Kubernetes-оператора в CloudNativePG практически без простоя приложения.</description></item><item><title>Рецепт 6. Вертикальное масштабирование Postgres со storage. Часть 1</title><link>https://notes.melancholic.tech/projects/recipe-6-vertical-scaling-part-1/</link><pubDate>Mon, 08 Apr 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-6-vertical-scaling-part-1/</guid><description>Часть 1 истории про вертикальное масштабирование Postgres в Kubernetes: отдельный volume для WAL, временные tablespaces, разделение I/O для таблиц и индексов.</description></item><item><title>Рецепт 7. Вертикальное масштабирование Postgres со storage. Часть 2</title><link>https://notes.melancholic.tech/projects/recipe-7-vertical-scaling-part-2/</link><pubDate>Tue, 16 Apr 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-7-vertical-scaling-part-2/</guid><description>Часть 2: горизонтальное партиционирование таблиц в PostgreSQL и связка с tablespaces для разнесения горячих и холодных данных по разным storage-классам.</description></item><item><title>Рецепт 8. Тестируем PostgreSQL 17 в Kubernetes</title><link>https://notes.melancholic.tech/projects/recipe-8-pg17-testing/</link><pubDate>Mon, 10 Jun 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-8-pg17-testing/</guid><description>Поднимаем кластер CloudNativePG на бета-образах PostgreSQL 17 для участия в тестировании major-релиза. Подходит и как шаблон для тестов будущих версий.</description></item><item><title>Kubernetes исполнилось 10: где сейчас PostgreSQL?</title><link>https://notes.melancholic.tech/projects/kubernetes-turned-ten/</link><pubDate>Tue, 25 Jun 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/kubernetes-turned-ten/</guid><description>Десятилетие Kubernetes глазами автора CloudNativePG: почему БД переезжают в Kubernetes, чем оператор отличается от голых VM, что нужно DBA, инфраструктурным и продуктовым командам.</description></item><item><title>Делаю мир моей единой точкой отказа на PostgreSQL</title><link>https://notes.melancholic.tech/projects/world-single-point-of-failure/</link><pubDate>Thu, 27 Jun 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/world-single-point-of-failure/</guid><description>CloudNativePG 1.24 умеет декларативный switchover между Kubernetes-кластерами в разных регионах через demotion/promotion-токены. Разбор на примере банка с двумя ЦОДами в Европе.</description></item><item><title>Рецепт 9. Сеть и storage в кластере CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-9-network-storage/</link><pubDate>Tue, 09 Jul 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-9-network-storage/</guid><description>Какие Service&amp;rsquo;ы и PVC создаёт CloudNativePG для PostgreSQL-кластера: -rw / -ro / -r сервисы, label-selector для primary, PVC для PGDATA / WAL / tablespaces.</description></item><item><title>Рецепт 10. Симуляция продакшн-среды PostgreSQL в Kubernetes с помощью Kind</title><link>https://notes.melancholic.tech/projects/recipe-10-kind-multi-node/</link><pubDate>Wed, 14 Aug 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-10-kind-multi-node/</guid><description>Как создать многонодовый Kubernetes-кластер в Kind с выделенными узлами для PostgreSQL, используя node labels и nodeSelector для изоляции рабочих нагрузок.</description></item><item><title>Рецепт 11. Изоляция PostgreSQL-нагрузок в Kubernetes с Kind</title><link>https://notes.melancholic.tech/projects/recipe-11-workload-isolation/</link><pubDate>Fri, 16 Aug 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-11-workload-isolation/</guid><description>Как использовать taints, tolerations и pod anti-affinity для полной изоляции PostgreSQL-инстансов на выделенных узлах Kubernetes — поверх node labels из Рецепта 10.</description></item><item><title>Рецепт 12. Доступ к PostgreSQL извне Kubernetes через Service Templates</title><link>https://notes.melancholic.tech/projects/recipe-12-service-templates/</link><pubDate>Mon, 26 Aug 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-12-service-templates/</guid><description>Как использовать managed services и service templates в CloudNativePG 1.24 для создания LoadBalancer-сервиса и подключения к PostgreSQL извне кластера Kubernetes.</description></item><item><title>Рецепт 13. Настройка синхронной репликации PostgreSQL</title><link>https://notes.melancholic.tech/projects/recipe-13-synchronous-replication/</link><pubDate>Tue, 10 Sep 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-13-synchronous-replication/</guid><description>Как настроить синхронную репликацию в CloudNativePG 1.24: quorum-based и priority-based методы, synchronous_commit и баланс между долговечностью данных и производительностью.</description></item><item><title>Рецепт 14. Полезные CLI-утилиты для CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-14-cli-tools/</link><pubDate>Fri, 11 Oct 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-14-cli-tools/</guid><description>Три CLI-утилиты, которые сильно ускоряют ежедневную работу с CloudNativePG: view-secret для расшифровки secret&amp;rsquo;ов, view-cert для инспекции TLS-сертификатов и stern для одновременного просмотра логов с нескольких подов.</description></item><item><title>Рецепт 15. Major-апгрейды PostgreSQL онлайн через логическую репликацию</title><link>https://notes.melancholic.tech/projects/recipe-15-major-online-upgrades/</link><pubDate>Wed, 11 Dec 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-15-major-online-upgrades/</guid><description>Декларативный online major-апгрейд PostgreSQL 15 → 17 средствами CloudNativePG 1.25: новые ресурсы Publication и Subscription, импорт схемы через bootstrap, проверка синхронизации данных.</description></item><item><title>Рецепт 16. Баланс между durability и self-healing в синхронной репликации</title><link>https://notes.melancholic.tech/projects/recipe-16-data-durability-self-healing/</link><pubDate>Thu, 26 Dec 2024 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-16-data-durability-self-healing/</guid><description>Новая опция dataDurability в CloudNativePG 1.25: required vs preferred. Как мигрировать с deprecated minSyncReplicas / maxSyncReplicas без потери self-healing.</description></item><item><title>Иммутабельное будущее расширений PostgreSQL в Kubernetes</title><link>https://notes.melancholic.tech/projects/immutable-future-extensions/</link><pubDate>Mon, 03 Mar 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/immutable-future-extensions/</guid><description>Как PostgreSQL extension_control_path и Kubernetes ImageVolume вместе решают проблему расширений в иммутабельных контейнерах: расширения как отдельные OCI-образы, монтируемые декларативно через CloudNativePG.</description></item><item><title>Рецепт 17. In-place major-апгрейды PostgreSQL через pg_upgrade</title><link>https://notes.melancholic.tech/projects/recipe-17-in-place-major-upgrades/</link><pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-17-in-place-major-upgrades/</guid><description>CloudNativePG 1.26: декларативный in-place major-апгрейд PostgreSQL. Меняешь imageName в манифесте — оператор сам прогоняет pg_upgrade &amp;ndash;link. Тест на 2.2 ТБ: апгрейд за 33 секунды.</description></item><item><title>Рецепт 18. pgvector в Kubernetes через CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-18-pgvector/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-18-pgvector/</guid><description>Декларативная установка pgvector в PostgreSQL-кластер на Kubernetes через ресурс Database из CloudNativePG. Без ручного CREATE EXTENSION.</description></item><item><title>Рецепт 19. Тонкий контроль старта Postgres через startup probes</title><link>https://notes.melancholic.tech/projects/recipe-19-startup-probes/</link><pubDate>Tue, 17 Jun 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-19-startup-probes/</guid><description>CloudNativePG 1.26: расширенные startup-пробы для Postgres. Базовый и продвинутый режимы, стратегии pg_isready / query / streaming, контроль допустимого лага через maximumLag.</description></item><item><title>Рецепт 20. Тонкий контроль кластеров Postgres через readiness probes</title><link>https://notes.melancholic.tech/projects/recipe-20-readiness-probes/</link><pubDate>Wed, 25 Jun 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-20-readiness-probes/</guid><description>CloudNativePG 1.26: расширенные readiness-пробы. Стратегии pg_isready / query / streaming, тонкая настройка для реплик с maximumLag, опасность flapping при синхронной репликации.</description></item><item><title>Рецепт 21. Тонкий контроль кластеров Postgres через liveness probes</title><link>https://notes.melancholic.tech/projects/recipe-21-liveness-probes/</link><pubDate>Fri, 15 Aug 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-21-liveness-probes/</guid><description>CloudNativePG 1.27: liveness-пробы для PostgreSQL. Новый primary isolation check уменьшает окно split-brain до ~30 секунд через built-in аналог Patroni failsafe mode — без внешних зависимостей.</description></item><item><title>PostgreSQL 18 в Kubernetes уже сегодня — через CloudNativePG</title><link>https://notes.melancholic.tech/projects/pg18-on-kubernetes/</link><pubDate>Fri, 26 Sep 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/pg18-on-kubernetes/</guid><description>PostgreSQL 18 вышел 25 сентября 2025: async I/O, B-tree skip scans, OAuth 2.0, extension_control_path. Минимальный образ — на 45% меньше, чем для 17. Деплой через CloudNativePG в три шага.</description></item><item><title>Рецепт 22. Новый supply chain и image catalogs CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-22-supply-chain-image-catalogs/</link><pubDate>Mon, 06 Oct 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-22-supply-chain-image-catalogs/</guid><description>Уход с Docker Hub postgres на собственный supply chain CloudNativePG: Snyk, cosign-подписи, SBOM, multi-arch. Image Catalogs позволяют декларативно управлять PostgreSQL-образами в кластерах без жёстких имён. Spread upgrades для парков БД.</description></item><item><title>Рецепт 23. Управление расширениями через ImageVolume в CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-23-extensions-imagevolume/</link><pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-23-extensions-imagevolume/</guid><description>Реальная практика того, что обещали в «Иммутабельном будущем расширений»: PostgreSQL 18 + Kubernetes ImageVolume + CloudNativePG 1.27. Расширения — отдельные OCI-образы (pgvector ~613KB), монтируются в минимальный operand (260MB) без пересборки. Полный пример с pgvector и PostGIS.</description></item><item><title>Рецепт 24. Миграция из Crunchy PGO в PostgreSQL 18 с CloudNativePG</title><link>https://notes.melancholic.tech/projects/recipe-24-migrate-from-pgo/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-24-migrate-from-pgo/</guid><description>Пошаговое руководство по миграции кластера PostgreSQL 17 под управлением Crunchy PGO v6 на PostgreSQL 18 под управлением CloudNativePG. Рассматриваются два пути: офлайн-миграция через pg_dump и онлайн-миграция через логическую репликацию.</description></item><item><title>Рецепт 25. Декларативные роли и беспарольный TLS в CloudNativePG 1.30</title><link>https://notes.melancholic.tech/projects/recipe-25-declarative-roles-passwordless-tls/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/recipe-25-declarative-roles-passwordless-tls/</guid><description>CloudNativePG 1.30: новый CRD DatabaseRole выносит роли из спеки Cluster в отдельный namespaced-ресурс, а встроенная выдача TLS-клиентских сертификатов позволяет подключаться к PostgreSQL вообще без паролей. Полный рабочий пример с pg_hba и cert-аутентификацией.</description></item><item><title>cnpg: kubectl-плагин для CloudNativePG — подробный разбор всех команд</title><link>https://notes.melancholic.tech/posts/cnpg-kubectl-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD-%D0%B4%D0%BB%D1%8F-cloudnativepg-%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D1%8B%D0%B9-%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80-%D0%B2%D1%81%D0%B5%D1%85-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4/</link><pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/posts/cnpg-kubectl-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD-%D0%B4%D0%BB%D1%8F-cloudnativepg-%D0%BF%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D1%8B%D0%B9-%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80-%D0%B2%D1%81%D0%B5%D1%85-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4/</guid><description>&lt;p&gt;&lt;code&gt;cnpg&lt;/code&gt; — официальный плагин для &lt;code&gt;kubectl&lt;/code&gt;, который ставится через &lt;a href="https://notes.melancholic.tech/posts/krew-%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BD%D1%8B%D0%B9-%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%BE%D0%B2-%D0%B4%D0%BB%D1%8F-kubectl-%D0%B8-%D0%BE%D0%B1%D0%B7%D0%BE%D1%80-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D1%85-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%BE%D0%B2/"&gt;krew&lt;/a&gt; и сильно облегчает повседневную работу с PostgreSQL-кластерами под управлением &lt;a href="https://cloudnative-pg.io/"target="_blank"
 class="inline-flex items-center gap-1"
&gt;CloudNativePG&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
&lt;/a&gt;. Без него почти каждая операция превращается в длинную цепочку &lt;code&gt;kubectl get/patch/exec&lt;/code&gt; с YAML-патчами и ручным &lt;code&gt;base64 -d&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;В статье — установка и подробный разбор &lt;strong&gt;всех практически полезных команд&lt;/strong&gt; плагина, с примерами и краткими комментариями, когда что использовать.&lt;/p&gt;</description></item><item><title>Подключения к базе данных и Connection Pooling</title><link>https://notes.melancholic.tech/posts/%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BA-%D0%B1%D0%B0%D0%B7%D0%B5-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8-connection-pooling/</link><pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/posts/%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BA-%D0%B1%D0%B0%D0%B7%D0%B5-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8-connection-pooling/</guid><description>&lt;blockquote
 class="border-primary bg-muted/30 hover:bg-muted/40 my-6 rounded-r-lg border-l-4 py-4 pr-4 pl-6 italic transition-all duration-200 ease-out hover:translate-x-1"&gt;
 &lt;div class="prose prose-sm max-w-none"&gt;
 &lt;p&gt;Перевод: &lt;a href="https://sagarshiroya.dev/posts/database-connection-and-pooling/"target="_blank"
 class="inline-flex items-center gap-1"
&gt;Database Connections &amp;amp; Connection Pooling&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
&lt;/a&gt; — Sagar Shiroya, 18 апреля 2026.&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;&lt;script&gt;
function toggleAlert(alertId) {
 const content = document.getElementById(alertId + '-content');
 const chevron = document.getElementById(alertId + '-chevron');
 const header = content.previousElementSibling;
 
 if (content.classList.contains('hidden')) {
 content.classList.remove('hidden');
 chevron.style.transform = 'rotate(0deg)';
 header.setAttribute('aria-expanded', 'true');
 } else {
 content.classList.add('hidden');
 chevron.style.transform = 'rotate(-90deg)';
 header.setAttribute('aria-expanded', 'false');
 }
}


document.addEventListener('DOMContentLoaded', function() {
 const collapsedAlerts = document.querySelectorAll('.alert-content.hidden');
 collapsedAlerts.forEach(function(content) {
 const alertId = content.id.replace('-content', '');
 const chevron = document.getElementById(alertId + '-chevron');
 if (chevron) {
 chevron.style.transform = 'rotate(-90deg)';
 }
 });
});
&lt;/script&gt;

&lt;h2 id="что-такое-соединение-connection"&gt;Что такое соединение (connection)?&lt;/h2&gt;
&lt;p&gt;Когда приложение хочет общаться с базой данных, оно не может просто отправить запрос «в воздух». Нужно установить &lt;strong&gt;соединение&lt;/strong&gt; — выделенный канал связи между приложением и сервером БД. После установки соединения можно отправлять SQL-запросы и получать результаты.&lt;/p&gt;</description></item><item><title>Postgres в Kubernetes</title><link>https://notes.melancholic.tech/projects/postgres-kubernetes/</link><pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/projects/postgres-kubernetes/</guid><description>Перевод и адаптация серии статей Gabriele Bartolini (EDB / CloudNativePG Maintainer) о запуске PostgreSQL в Kubernetes: от микросервисной парадигмы и локальной песочницы до миграций ~0 downtime, вертикального масштабирования и распределённых топологий.</description></item><item><title>Масштабирование PostgreSQL в Kubernetes</title><link>https://notes.melancholic.tech/posts/%D0%BC%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-postgresql-%D0%B2-kubernetes/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/posts/%D0%BC%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-postgresql-%D0%B2-kubernetes/</guid><description>&lt;h2 id="аргументы-в-пользу-вертикального-масштабирования"&gt;Аргументы в пользу вертикального масштабирования&lt;/h2&gt;
&lt;p&gt;Если вы читали какие-либо статьи или книги по проектированию систем, то, вероятно, знаете, что такое вертикальное и горизонтальное масштабирование и каковы преимущества горизонтального масштабирования. Прежде чем я объясню, как правильно настроить горизонтальное масштабирование в Postgres, позвольте мне привести пример, когда этого делать не следует.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Простота: База данных на одном узле означает, что вы можете запустить свою базу данных «из коробки». Хотя я рекомендую использовать &lt;a href="https://pgtune.leopard.in.ua/"target="_blank"
 class="inline-flex items-center gap-1"
&gt;PGTune&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
&lt;/a&gt; для быстрой настройки или посетить &lt;a href="http://postgresqlco.nf/"target="_blank"
 class="inline-flex items-center gap-1"
&gt;postconf&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
&lt;/a&gt; для полного описания.&lt;/li&gt;
&lt;li&gt;Более простое резервное копирование и восстановление: Нет необходимости думать о состоянии реплик при создании или применении резервных копий.&lt;/li&gt;
&lt;li&gt;Отсутствие сетевой нагрузки, особенно при операциях с интенсивной записью.&lt;/li&gt;
&lt;li&gt;Временное решение: Если вам нужно решение прямо сейчас, это то, что нужно.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="предварительная-подготовка"&gt;Предварительная подготовка&lt;/h2&gt;
&lt;p&gt;Необходимо установить следющий тулинг&lt;/p&gt;</description></item><item><title>5 способов ускорить pg_dump на больших PostgreSQL-базах</title><link>https://notes.melancholic.tech/posts/5-%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BE%D0%B2-%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D1%82%D1%8C-pg_dump-%D0%BD%D0%B0-%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D1%85-postgresql-%D0%B1%D0%B0%D0%B7%D0%B0%D1%85/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>https://notes.melancholic.tech/posts/5-%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%BE%D0%B2-%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D1%82%D1%8C-pg_dump-%D0%BD%D0%B0-%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B8%D1%85-postgresql-%D0%B1%D0%B0%D0%B7%D0%B0%D1%85/</guid><description>&lt;blockquote
 class="border-primary bg-muted/30 hover:bg-muted/40 my-6 rounded-r-lg border-l-4 py-4 pr-4 pl-6 italic transition-all duration-200 ease-out hover:translate-x-1"&gt;
 &lt;div class="prose prose-sm max-w-none"&gt;
 &lt;p&gt;Перевод и адаптация статьи &lt;a href="https://dev.to/me_grigory_pshekovich/top-5-ways-to-speed-up-pgdump-on-large-postgresql-databases-1c0m"target="_blank"
 class="inline-flex items-center gap-1"
&gt;Grigory Pshekovich «Top 5 Ways to Speed Up pg_dump on Large PostgreSQL Databases»&lt;svg class="h-3 w-3 flex-shrink-0" id="external-link" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 3h6v6m-11 5L21 3m-3 10v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/&gt;&lt;/svg&gt;
&lt;/a&gt; (5 декабря 2025). Авторские права на оригинал принадлежат автору; здесь — пересказ для русскоязычных читателей.&lt;/p&gt;</description></item></channel></rss>