Обновить
135.33

PostgreSQL *

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

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

Очереди сообщений в Postgres Pro: отказ от внешних брокеров ради транзакционной надёжности

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.9K

Ваш сервис отправил сообщение в RabbitMQ, но в момент коммита транзакция в базе данных откатилась. Классический кошмар распределенных систем, порождающий данные-призраки и часы отладки. Обычно эту проблему решают сложным кодом, двухфазными коммитами или просто надеждой на лучшее. А что, если бы откат транзакции в PostgreSQL мог автоматически «откатить» и отправку сообщения, вернув его в очередь без единой строчки вашего кода? Рассказываем, как это работает.

Читать далее

Резервирование кластера Greengage DB. Часть 2

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров298

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

Читать далее

СУБД Tantor Postgres 17.6: обзор улучшений для 1С

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

Продолжаем знакомить вас с улучшениями СУБД Tantor Postgres для работы с продуктами 1С. В рамках предыдущей статьи о нововведениях версии 17.5 мы разобрали арсенал специализированных функций, призванных существенно ускорить выполнение типичных для 1С операций, снизить нагрузку на инфраструктуру и упростить администрирование. Сегодня мы рассмотрим, с какими проблемами можно столкнуться при высоких значениях default_statistics_target, расскажем о новых оптимизациях для ускорения выполнения запросов, и, конечно, коснемся временных таблиц.

Читать далее

Домашний Nextcloud на Raspberry Pi 5 за пару вечеров: Docker-compose, обратный прокси и чуть-чуть ИИ

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров6.6K

За выходные поднял «свой Dropbox/Google Drive» на Raspberry Pi 5 через Docker-compose: Nextcloud + PostgreSQL + Redis + Nginx Proxy Manager + автокрон. Бонусом — SMTP-уведомления, капча на регистрации и аккуратный config.php. Ключевой инсайт: даже без специфических знаний это реально, если уметь правильно «разговаривать» с ИИ и копипастить команды не глядя в дебри мануалов.

Узнать эту магию!?!

Как отследить трафик PostgreSQL

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

Недавно я изучал детали реализации взаимодействия клиента PostgreSQL с базой данных и был удивлён, насколько легко просматривать трафик PostgreSQL с помощью wireshark. Когда я поделился своим удивлением в социальной сети, меня попросили привести пример того, как это сделать.

Читать далее

Как не получилось сделать PostgreSQL лучше (и почему это нормально)

Время на прочтение6 мин
Количество просмотров13K

Недавно я получил статус Major Contributor в проекте PostgreSQL. Это довольно радостное для меня событие и интересное, поэтому коллеги попросили написать статью об этом. А чтобы я не сомневался — заботливо составили список достижений за меня. Получилось замечательно, но публиковать от своего имени статью вида «как я крут» я не хочу. Я совсем не против про это говорить, и из каждого утюга вещаю про разные технологии, сделанные моей командой или вот прям вообще мной. Но только в контексте «как использовать эти технологии», либо в узком кругу или личной беседе. 

Я решил написать другую статью: что у меня не получилось. Писал довольно спешно, поэтому, возможно, местами будет понятно только специалистам. Не расстраивайтесь, если что‑то неясно и пришлось гуглить. А вот если всё понятно — возможно, стоит меньше смотреть в монитор и чаще трогать траву.

Инкрементальное улучшение любой популярной технологии зачастую имеет негативные последствия. И в большинстве случаев предлагаемых в PostgreSQL доработок — вред превышает пользу. Построить что‑то новое, ничего не сломав, бывает трудно и в чистом поле, а ядро PostgreSQL в этом смысле — лабиринт с граблями.

Читать далее

От слов к делу: как Postgres Pro строит будущее в Академгородке

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров3.8K

Некоторые из IT-компаний говорят, что поддерживают open source. На деле это нередко означает использование чужого кода и PR-активность. Мы считаем, что настоящий вклад — это коммиты в ядро. И чтобы делать это системно, мы открыли инженерный центр не в столичном бизнес-парке, а в месте, где фундаментальная наука — часть культурного кода. Рассказываем, почему будущее системного программирования мы строим в новосибирском Академгородке.

Читать далее

Postgresso 9-10 (82-83)

Время на прочтение18 мин
Количество просмотров1.9K

Пополнение в списке контрибьюторов:

New PostgreSQL Contributors 2025

Major Contributors:

Андрей Бородин (Andrey Borodin, Яндекс.Облако, наши ПОЗДРАВЛЕНИЯ!
Якоб Чемпион (Jacob Champion, EDB),
Йелте Феннема-Нио (Jelte Fennema-Nio Motherduck, DuckDB),
Роберт Трит (Robert Treat pgtreats, за общественную деятельность).

Просто новые контрибьюторы:

Эндрю Кейн (Andrew Kane),
Энди Фэн (Andy Fan),
Ханс-Юрген Шёниг (Hans-Jürgen Schönig),
Хиан Хе (Jian He),
Марко Нанчиарини (Marco Nenciarini),
Майкл Голдберг (Michael Goldberg),
Сара Конвей (Sarah Conway).

Читать далее

Шардирование сервиса объявлений Авито Доставки. Часть II

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.9K

Привет, меня зовут Артем, и я работаю в Авито с 2016 года. Это вторая часть истории про шардирование сервиса объявлений Авито Доставки, где мы расскажем о реализации шардирования и полученном результате.

Читать далее

Как я создал платформу для изучения иврита: от идеи до работающего сервиса

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров3.3K

Я построил полноценную образовательную платформу для изучения иврита — с интерактивными тренажерами, умным словарем на 4000+ слов и системой подписок. В статье рассказываю о нетривиальных технических решениях, архитектурных выборах и ошибках, которые пришлось исправлять по ходу.

Продукт: hebrewglot.com

Стек: Next.js 15, TypeScript, PostgreSQL + SQLite, Stripe, NextAuth

Погнали

Апгрейд Postgres с 11 до 17 версии без боли: мой гайд по логической репликации

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров2.8K

Вступление: Почему я вообще это пишу?

Представьте: нужно обновить базу данных размером с небольшое озеро — целых 10 ТБ. Классические методы тут не работают. Сделать дамп и восстановить? Это ж на неделю бизнес встанет. Обновлять «в лоб» с 11-й до 17-й версии? Это рискованно и надолго всё упадёт.

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

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

Читать далее

Использование PG_EXPECTO для выявления проблемных SQL запросов при анализе инцидента производительности СУБД PostgreSQL

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров349

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

В этой статье рассмотрим, как использование PG_EXPECTO позволяет кардинально ускорить этот процесс. Мы не будем гадать на основе снимков pg_stat_statements. Вместо этого мы научимся проактивно создавать «ловушки» на проблемные паттерны производительности. Когда инцидент происходит, PG_EXPECTO позволяет быстро найти проблемные SQL-запросы , предоставляя инженеру готовый список «подозреваемых» для дальнейшей оптимизации.

Новый инструмент с открытым исходным кодом для статистического анализа, нагрузочного тестирования и построения отчетов доступен в репозитории GitFlic и GitHub

kznalp/PG_EXPECTO: Комплекс статистического анализа производительности СУБД PostgreSQL

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

Читать далее

Я устал кликать по HH — отдал это Gemini и получил 7 инвайтов за 3 дня

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

Привет, Хабр!

Давайте честно, поиск работы — это ад. Я инженер и я ненавижу рутину. А поиск работы — это 90% тупого кликанья.

Открыть 50 вкладок — 50 раз написать «Здравствуйте‑ меня заинтересовало...» — 50 раз скопировать‑вставить. Это выжигает.

Можно конечно написать автокликер, который будет спамить «пустышками». Но рекрутеры не дураки — такие отклики летят в мусор. А «ручной» режим‑ это 3–4 часа в день.

Я понял — что должен быть третий путь. Не просто автоматизация — а умная автоматизация.

Читать далее

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

Сравнительный анализ эффективности планировщиков СУБД при выполнении различных запросов

Уровень сложностиСредний
Время на прочтение34 мин
Количество просмотров4.5K

Когда мы пишем запрос, СУБД делает гораздо больше, чем просто ищет данные. Она оценивает десятки сценариев выполнения, сравнивает стоимость операций и выбирает оптимальный путь к результату. От этого выбора зависит, будет ли запрос выполняться секунду или минуту. Почему одни системы находят лучший план, а другие выстраивают менее эффективный алгоритм? Попробуем разобраться, как планировщики СУБД принимают решения и что определяет их эффективность.

Читать далее

Почтовый Шарпей: как мы приручили 700+ шардов PostgreSQL

Время на прочтение24 мин
Количество просмотров6K

Всем привет! Меня зовут Алексей Кременьков, я старший разработчик в Яндекс Почте. В этой статье расскажу, как мы работаем с большим количеством шардов PostgreSQL: как создавали собственный сервис динамического шардирования Sharpei, как развивали инфраструктуру под него и как проходил переезд на облачное решение. В конце разберёмся, какие плюсы и минусы мы смогли найти в этом решении.

Читать далее

Система резервации заказов на Postgres, продолжение

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров1.5K

В комментариях к предыдущему посту "Система резервации на 600 заказов в секунду без буферизации и другой дичи" только ленивый не упомянул явные блокировки в Postgres, как способ борьбы с дедлоками.

Это не удивительно, так как select for update - очень популярный прием во всех СУБД, даже на Хабре есть статья на эту тему.

Что же окажется быстрее?

Главный релиз года. Встречаем Кибер Бэкап 18

Время на прочтение10 мин
Количество просмотров2.7K

Привет, Хабр! Сегодня познакомимся с Кибер Бэкапом 18 — новой версией нашей системы резервного копирования. Релиз у нас получился «увесистый» — мы обеспечили дальнейший рост производительности и масштабируемости системы, защиту новых и развитие возможностей защиты уже поддерживаемых источников данных, реализовали открытый API управления планами защиты, выполнили доработки в части интерфейса и управления системой, а также выпустили ознакомительную MVP‑версию Кибер Медиасервера.

Читать далее

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

Уровень сложностиСложный
Время на прочтение3 мин
Количество просмотров1.7K

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

Новый инструмент с открытым исходным кодом для статистического анализа, нагрузочного тестирования и построения отчетов доступен в репозитории GitFlic

kznalp/PG_EXPECTO

Формулировка задачи:

Разработка специализированных конфигурационных файлов метрик для оценки производительности систем управления базами данных (СУБД) с использованием инструментария pg_expecto. Результаты работы предназначены для интеграции в системы мониторинга и обеспечения основ для реализации механизмов проактивного анализа производительности СУБД.

Читать далее

«Автопилот» для HeadHunter — как я потратил 100 часов на бота- чтобы сэкономить тысячи часов айтишникам на поиске работы

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

Привет- Хабр!

Поиск работы – это... боль. Нет- не так. Это – ад.

Это бесконечный скроллинг- десятки открытых вкладок.

Читать далее

Уровни изоляции транзакций: практическая механика и сравнение PostgreSQL, MySQL, Oracle, SQL Server и DB2

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

Транзакции — не про «магическое ACID», а про конкретную механику согласованного доступа к данным под нагрузкой.

Эта статья объясняет как реально работают уровни изоляции и чем отличаются популярные СУБД на практике.

Мы разберём:

Читать далее

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