Обновить
101.05

PostgreSQL *

Свободная объектно-реляционная СУБД

Сначала показывать
Порог рейтинга
Уровень сложности

Coreness: от одного бота к сотням — self-hosted open-source платформа для AI-агентов

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели4.8K

Каждый новый Telegram-бот — снова код, конфиги, деплой. Хочется self-hosted решение, где логика в конфигах, а не в коде, и можно развернуть хоть десяток ботов на одном сервере.

Coreness — open-source платформа на Python с YAML-сценариями, RAG через PostgreSQL и плагинной архитектурой. Внутри статьи — разбор event-driven архитектуры без воды, пошаговый пример (от git clone до работающего бота с оплатами) и взгляд на то, как расширять платформу через плагины под свои задачи.

Читать далее

Новости

PostgreSQL и 1С: как построить систему поиска «тихих убийц» производительности

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели7.6K

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

В статье — описание универсального способа контроля качества кода и нагрузки на базу без выделенного DBA. Пошагово разберем поиск неоптимальных запросов с помощью pgBadger на живом кейсе.

Читать далее

Prisma ORM на скорости чистого SQL? Конвертация JSON-запросов в SQL-строку

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8.9K

В 1974 году, когда SQL только вышел из исследовательских лабораторий IBM, работа с базами данных выглядела просто: разработчик писал запрос и получал результат. Без слоёв, абстракций и фреймворков — только строки, описывающие нужные данные.

Эта прямота дорого обходилась. Переименование колонки превращалось в поиск по тысячам строк кода в надежде отловить все упоминания. Неаккуратная работа с пользовательским вводом приводила к SQL-инъекциям. Миграция с Oracle на PostgreSQL часто означала переписывание значительной части запросов из-за различий диалектов.

К середине 1990-х проблема стала настолько заметной, что начали появляться Object-Relational Mapper’ы (ORM). Идея выглядела привлекательно: работать с таблицами как с объектами, писать код на «родном» языке программирования вместо SQL-строк, а перевод на SQL оставлять фреймворку.

Читать далее

PostgreSQL 19: Часть 2 или Коммитфест 2025-09

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8K

Продолжаем цикл статей с обзором изменений 19-й версии. На этот раз рассмотрим что появилось в рамках сентябрьского коммитфеста 2025 года.

Самое интересное из первого июльского коммитфеста можно прочитать здесь: 2025-07.

Читать далее

Хотели ускорить Postgres, а построили платформу репликации данных

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели8.4K

Команда Go for Devs подготовила перевод статьи инженеров Datadog о том, как из разрозненных пайплайнов вырастить надёжную мультитенантную платформу репликации данных. В материале — практический опыт масштабирования PostgreSQL, переход к асинхронной репликации, автоматизация через Temporal, работа с CDC и Kafka, а также реальные компромиссы между согласованностью, надёжностью и задержками.

Читать далее

От скриншота до PostgreSQL: парсим банковские операции через Claude Vision

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели10K

Это первая статья из цикла о построении CDC-пайплайна в домашней лаборатории.
Полный путь: Telegram → PostgreSQL → Debezium → Kafka → HDFS → DWH.
Но любой пайплайн начинается с данных — и эта статья про их получение.

Читать далее

PG_EXPECTO 5.1: Влияние vm.swappiness=1 на производительность PostgreSQL

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели5.7K

Настоящее исследование посвящено экспериментальной проверке общепринятой рекомендации по снижению параметра vm.swappiness для серверов PostgreSQL . В ходе нагрузочного тестирования на синтетической рабочей нагрузке, имитирующей аналитические запросы, было оценено влияние значений vm.swappiness = 10 и vm.swappiness = 1 на производительность СУБД и инфраструктуры. Результаты выявили неожиданные закономерности, ставящие под сомнение универсальность данной рекомендации.

В статье представлены результаты нагрузочного тестирования PostgreSQL на синтетической рабочей нагрузке, имитирующей аналитические запросы (OLAP). Цель исследования: определить - как снижение параметра vm.swappiness влияет на взаимодействие СУБД с подсистемой ввода-вывода Linux.

Глоссарий терминов | Postgres DBA | Дзен

GitHub - Комплекс pg_expecto для статистического анализа производительности и нагрузочного тестирования СУБД PostgreSQL

Читать далее

Вайбкодинг пошёл не по плану: как я снёс базу данных по совету Google Gemini (почти)

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели28K

Классика жизни: ввёл в терминале команду, не до конца понимая последствий. И поплатился за это удалением активной базы данных.

Читать далее

Как написать линтер для SQL-миграций

Уровень сложностиСредний
Время на прочтение35 мин
Охват и читатели8.1K

Привет! Меня зовут Алексей Сидоров, я Python-разработчик в команде краткосрочной аренды в Домклик. В этой статье разберём, как и зачем проверять код миграций схемы БД и как написать свой линтер.

Читать далее

Как ускорить SQL-запрос в миллион раз без изменения кода: кейс со STATMULTIPLIER в Postgres

Время на прочтение8 мин
Охват и читатели19K

Однажды при мониторинге мы обратили внимание на запрос, который занимал первое место по длительности: 40+ секунд на выполнение при 657 вызовах за день. Причина состояла в том, что из-за неточной статистики распределения данных выбирался неподходящий индекс. В статье расскажем о том, как с помощью параметра STATMULTIPLIER в СУБД Tantor Postgres этот проблемный запрос удалось ускорить примерно в миллион раз — до 0.042 миллисекунды, — просто повысив точность статистики без изменения кода или структуры базы данных.

Читать далее

CTE (Common Table Expression) / Django CTE

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели13K

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

Поэтому в этой статье я расскажу:

1. что такое CTE

2. зачем оно нужно 

3. что такое рекурсивные СТЕ

4. чем СТЕ отличается от временных таблиц, представлений и подзапросов

5. как СТЕ может плохо сказаться на производительности 

6. как использовать СTE в самом народном фреймворке Django

Использует SELECT со звёздочкой Макс - Lead Backend и автор YouTube-канала PyLounge. Поехали! 

Читать далее

Как перевести 40 распределенных баз 1С из MSSQL в PostgreSQL

Время на прочтение12 мин
Охват и читатели8.4K

Продолжаем публиковать некоторые детали проектов по миграции больших баз данных 1С с MS SQL Server на PostgreSQL. В прошлый раз речь шла о миграции только одной 10+ Тб базы данных 1С с MS SQL на PostgreSQL. Сегодня речь пойдет о проекте миграции на PostgreSQL сразу сорока с лишним распределенных информационных систем 1C с базами размером от 50 Гб до 2 Тб каждая.

Читать далее

Больше чем ядро: как пет-проект вырос в мультитенантную платформу для создания AI-агентов

Уровень сложностиСредний
Время на прочтение103 мин
Охват и читатели6.2K

Началось с простого: сделать универсальное ядро для Telegram-ботов на Python и YAML-конфигах. Сейчас Coreness — это мультитенантная платформа, где боты и AI-агенты создаются декларативно, работают с RAG, а весь код написан через вайб-кодинг с помощью LLM.

Это рассказ о том, как в одиночку за пару месяцев удалось пройти путь от Clean Architecture (которая не зашла) до гибридного микса архитектур, от SQLite до production-инфраструктуры с PostgreSQL и десятками ботов в бою, и почему AI-ассистенты — это не магия, а инструмент, требующий совершенно новых навыков.

Читать далее

Ближайшие события

PostgreSQL 19: Часть 1 или Коммитфест 2025-07

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели11K

Начинаем новый цикл статей с обзором изменений 19 версии. И первая статья о событиях летнего июльского коммитфеста прошлого года.

Читать далее

SQL HowTo: немного геометрии (Advent of Code 2025, Day 9: Movie Theater)

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.2K

Осторожно, спойлеры! Не читайте, пока хотите решить задачу самостоятельно.

В этой челлендж-серии статей, начатой с прошлогоднего эвента, попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2025.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

Читать далее

Как я заменил BI-дашборд на AI-чат: архитектура RAG-системы для 600K записей

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели11K

После 10 лет внедрения BI-систем (Qlik Sense, Power BI, Data Lens) я понял одну вещь: дашборд — это не решение. Это данные для решения. А между данными и решением — пропасть, которую преодолевает человек.

В этой статье покажу, как построил RAG-систему с чат-интерфейсом для базы из 600 000 записей техники из Федресурса. Без философии — только архитектура, код и грабли.

Читать далее

Очередь задач на Postgres: SKIP LOCKED + lease/heartbeat + backpressure (практический опыт)

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели10K

Как сделать надёжную очередь задач без Rabbit/Kafka, используя только Postgres? Разбираю боевой паттерн: FOR NO KEY UPDATE SKIP LOCKED для конкурентного забора, lease/heartbeat для возврата задач после падений и backpressure, чтобы воркеры не съели память.

Читать далее

Если UPDATE столкнулся с заблокированной строкой

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели13K

В PostgreSQL и Oracle Database команда UPDATE, столкнувшаяся с заблокированной строкой, ведёт себя по-разному. В статье рассматривается, как выполняется UPDATE в этих базах данных. Это может быть полезно при миграции кода приложения мжду этими базами данных.

Читать далее

Мониторинг managed PostgreSQL в Yandex Cloud: практика с экспортером pgSCV и k8s

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.7K

В статье разбирается практический подход к мониторингу managed PostgreSQL в Yandex Cloud с использованием экспортёра pgSCV. Показано, как выстроить сбор метрик так, чтобы он не создавал дополнительной нагрузки на базу данных, масштабировался вместе с инфраструктурой и оставался управляемым.

Читать далее

Не апгрейд, а оптимизация: комплексный тюнинг инфраструктуры подарил PostgreSQL 65% производительности

Уровень сложностиСложный
Время на прочтение5 мин
Охват и читатели7.2K

Часто при замедлении работы базы данных первым решением кажется увеличение вычислительных ресурсов: больше ядер, памяти, быстрые диски. Однако существует и другой, более экономичный путь — заглянуть глубже, на уровень операционной системы, управляющей этими ресурсами.

Данная статья — это практический разбор реального кейса, где скрупулёзная настройка параметров подсистемы ввода-вывода, кэширования и планировщика задач Linux позволила поднять производительность PostgreSQL на впечатляющие 65%. Без замены железа, без увеличения лицензий, только за счёт грамотной оптимизации «фундамента», на котором работает СУБД. 

GitHub - Комплекс pg_expecto для статистического анализа производительности и нагрузочного тестирования СУБД PostgreSQL

Читать далее
1
23 ...

Вклад авторов