Все потоки
Поиск
Написать публикацию
Обновить
109.45

PostgreSQL *

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

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

«Postgres. Первое знакомство» (11-е издание) надёжный проводник в мир PostgreSQL

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

Занимаемся не только разработкой, но и помогаем освоиться в мире PostgreSQL новичкам. Обновлённая книга для тех, кто только начинает изучение темы СУБД, уже доступна для свободной загрузки. Кому и как поможет «Postgres. Первое знакомство», расскажем подробнее.

Прочитать обзор книги

Онлайн-мониторинг производительности, импорт внешних СУБД на базе PostgreSQL, DBaaS и ФСТЭК: главное о Proxima DB 3.1

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

Привет, Хабр! В конце января мы получили сертификат ФСТЭК на нашу СУБД Proxima DB и выпустили новую версию 3.1 для редакций Proxima DB Core и Advanced.

На самом деле по количеству добавленных фич новую версию можно было бы переименовывать в 4.0 или даже в 5.0 (софтверные гиганты здесь обычно показывают гору фантиков от сникерсов и пустых стаканчиков от кофе, использованных при выпуске нового релиза). Но мы придерживаемся концепции изменения мажорной версии Proxima DB с изменением мажорной версии PostgreSQL, поэтому новая версия — именно 3.1.

В этой статье хотим поделиться:

С какими новыми требованиями регуляторов мы столкнулись в процессе;

Как технически реализовали новую для российских СУБД функцию мониторинга производительности в реальном времени;

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

Читать далее

PL/R в PostgreSQL

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

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

PL/R — это процедурный язык для PostgreSQL, который позволяет писать функции на языке R. Когда хочется использовать все богатство статистических пакетов и алгоритмов R, не покидая привычного SQL‑окружения, PL/R приходит на помощь. Плюс ко всему: нет необходимости создавать отдельные сервисы для анализа, что уменьшает задержки и упрощает архитектуру приложения.

Читать далее

SQL HowTo: динамическое программирование (Advent of Code 2024, Day 19: Linen Layout)

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

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

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

Используем динамическое программирование для подсчета количества вариантов размещений.

Читать далее

Virtual generated columns в PostgreSQL 18

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

В PostgreSQL 18 добавят виртуальные сгенерированные столбцы (комит).


Ранее PostgreSQL уже поддерживал сгенерированные столбцы (начиная с версии 12), но только в варианте STORED, когда результат вычислений сохраняется в таблице. Теперь появилась возможность вычислять значения "на лету" при чтении, что экономит место и даёт больше гибкости в проектировании схем данных.


Как создать виртуальный столбец?

Читать дальше →

GO: Как и почему мы отказались от Nest.JS

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

В мире разработки всегда наступает момент, когда необходимо переосмыслить используемые технологии. В Hikasami, наблюдая за ростом используемых ресурсов и усложнением бизнес-задач, мы столкнулись с выбором: продолжать использовать привычный NestJS или искать новое решение, способное обеспечить высокую производительность и масштабируемость. Ответ оказался очевиден - нужно перейти на Go.

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

Почему Go?

Читать далее

Что в черном ящике, или Как разработчику понять, что требует оптимизации в БД PostgreSQL

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

Привет! Меня зовут Дмитрий Руденко, я из команды Databases Т-Банка. В последние годы наблюдается тенденция к переходу на Postgres со стороны многих команд и компаний, что приводит к увеличению количества Postgres-баз данных, требующих эффективного мониторинга и управления. 

Мы достигли впечатляющего масштаба — почти 10 000 работающих экземпляров PostgreSQL, с которыми работают более 2 000 команд. Каждый из этих инстансов обслуживает уникальные рабочие нагрузки, разработанные командами с различными подходами к архитектуре, используемыми фреймворками и паттернами проектирования.

Мы пришли к созданию общей системы мониторинга баз данных Postgres, предоставляющей пользователю в простом и понятном виде данные о состоянии инстанса. В этой статье я расскажу о нашем видении визуального представления информации для пользователя и о созданной нами группе дашбордов для наблюдения за базами данными Postgres. Вы увидите, что накопительная статистика Postgres совместно с Prometheus и Grafana способны творить чудеса. 

Читать далее

PostgreSQL 18: Часть 4 или Коммитфест 2025-01

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


Продолжаем следить за новостями из мира PostgreSQL 18. Январский коммитфест принес много полезных изменений в области мониторинга и не только.


А самое интересное из предыдущих коммитфестов можно прочитать здесь: 2024-07, 2024-09, 2024-11.

Читать дальше →

Что будет интересного в pg_probackup 3

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

pg_probackup 3 — не просто обновление, а полная перезагрузка системы резервного копирования PostgreSQL. Пока сообщество затаило дыхание в ожидании релиза, мы разберем по косточкам все ключевые изменения: от полностью переработанной архитектуры и нового репликационного протокола до революционной возможности восстановления отдельных баз данных и поддержки FUSE. Узнайте, как LibProbackup3 – полноценный SDK – открывает новые горизонты для интеграции в любую инфраструктуру, а улучшенная поддержка лент и S3, наконец, решает наболевшие проблемы. 

Читать далее

SQL HowTo: поиск пути и дихотомия (Advent of Code 2024, Day 18: RAM Run)

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

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

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

Сегодня напишем для решения простую реализацию алгоритма Ли и дихотомии.

Читать далее

Знакомство с PPEM 2

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

Недавно у Postgres Pro вышла новость о релизе Postgres Pro Enterprise Manager 2 (далее просто PPEM). Если коротко, то это админка для управления и мониторинга Postgres. Основная задача инструмента — помогать DBA в ежедневной работе и избавлять от рутины. Давайте в этой статье попробуем установить и запустить PPEM, посмотреть что это такое и какие возможности предоставляет система.

Читать далее

Adaptive Query Rewriting в PostgreSQL

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

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

В этой статье я покажу, как с помощью Adaptive Query Rewriting PostgreSQL может не только выбирать новый план, но и адаптироваться, учась на своих ошибках, чтобы быть быстрее и эффективнее. Почему один и тот же запрос в PostgreSQL иногда выполняется быстро, а иногда тянется? Всё дело в том, что классический оптимизатор ориентируется на устаревшие статистики и не всегда точно предсказывает реальную ситуацию в данных. В таких случаях адаптивная система, анализируя ошибки и реальные показатели выполнения, корректирует план, улучшая производительность.

Читать далее

PostgreSQL Connection Pooling: Наш опыт и с чем его едят

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

Как обеспечить высокую производительность PostgreSQL и эффективно управлять соединениями? В этой статье мы разберёмся, как правильно настроить пул соединений, какие преимущества он даёт и как избежать распространённых ошибок. Делимся нашим опытом перехода с MongoDB на PostgreSQL и работы с пулом в Go с использованием pgx.

Читать далее

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

Обновление PostgreSQL с кластером отката

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

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

Читать далее

SQL HowTo: подбираем значение ветвлением (Advent of Code 2024, Day 17: Chronospatial Computer)

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

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

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

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

Читать далее

Задолженности в Mireapay

Время на прочтение12 мин
Количество просмотров937

Деньги - кровь экономики, а кредиты - уровень сахара. Ни одна современная платёжная система не может считаться полноценной, если отсутствует возможность кредитования производства - то, без чего современное производство не может существовать в принципе. Если вам интересно, как Mireapay работает с задолженностями и сможет ли наконец автор получить твердо и четко сервис с производительностью 100 рпс, то добро пожаловать под кат!

Продолжить наступление

Отказоустойчивость Postgres Pro Enterprise для 1С

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

Настройка отказоустойчивого кластера PostgreSQL для «1С:Предприятие» — задача для опытных специалистов. Ручное или автоматическое переключение на резервный сервер? Сколько реплик действительно необходимо для надёжной отказоустойчивости? Сертифицированный эксперт по PostgreSQL Алексей Васильев делится практическими знаниями и пошаговыми инструкциями по развёртыванию отказоустойчивого решения на базе Postgres Pro Enterprise с использованием BiHA.

Читать далее

Оптимизация JOIN в PostgreSQL

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

Хотите ускорить работу сложных SQL-запросов в PostgreSQL? 🚀В этой статье мы разберем, как правильно использовать JOIN, какие методы соединения выбирает PostgreSQL и как их оптимизировать. Узнайте, как индексы, статистика и параметры конфигурации влияют на производительность! 🔥

Читать далее

Работа с колонками типа JSON в PostgreSQL (на примере использования отдельных функций)

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

Содержание

Вступление (и некоторые общие сведения)

Немного теории

Используемые функции PostgreSQL

Описание используемого примера данных

Предварительные шаги

Запросы

Краткий итог

«Задачи»

Читать далее

Автоматизированное документирование баз данных на Markdown

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

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

Для решения данной задачи разработаны два PHP-скрипта, предназначенные для работы с PostgreSQL. Эти скрипты выполняют две основные функции:

1.  Сравнение старой и новой структуры базы данных с выявлением добавленных, удалённых и изменённых таблиц.

2.  Создание Markdown-документации, которая содержит подробное описание назначения таблиц и характеристик их полей, что делает изменения в структуре базы данных прозрачными для разработчиков.

Читать далее

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