Обновить
64K+

PostgreSQL *

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

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

Из 2,3 ТБ в 1,2 ТБ без потери учёта: как сворачивают большие базы 1С

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

Этот материал подготовил автор решения Database Compression Tool (DCT), представленного на Инфостарт Маркетплейс. Мы публикуем его от имени компании, чтобы поделиться практической экспертизой наших авторов. В статье разработчик DCT рассказывает, как устроена свертка больших баз 1С, какие ошибки могут привести к нарушению учета и что необходимо учитывать при работе с базами объемом в сотни гигабайт и несколько терабайт. Мнение, выводы и практические рекомендации в материале принадлежат автору решения.

Заявка выглядит буднично: ERP размером 2,3 терабайта, бэкап перестал влезать в ночное окно, место в СХД заканчивается быстрее, чем согласовывается его закупка. Диски можно докупать до бесконечности, но в какой-то момент кто-то произносит слово «свёртка». И тут выясняется, что удалить из работающей учётной системы две трети строк и ничего при этом не сломать заметно сложнее, чем звучит.

Читать далее

Ваш бэкап не восстановится. Вы просто ещё об этом не знаете

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

Крон отработал. Экзит-код ноль. Файл лежит в S3, размер похож на правду. Мониторинг зелёный. Всё говорит о том, что бэкап сделан успешно, вот только его никогда не пробовали восстановить.

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

Читать далее

Публичность или небытие: как AI меняет цену знания

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

Как мне кажется, старая формула успеха — «сделай хорошо и опубликуй в престижном журнале» — постепенно перестаёт работать. AI не смотрит на статус площадки: он верит тому, что выложено открыто, изложено полно и независимо подтверждено. Почему письмо в публичную рассылку теперь весит больше статьи в закрытом журнале, чем рискуют коммерческие форки PostgreSQL, и при чём здесь борги - об этом я размышляю в этой "отпускной" заметке.

Читать далее

SSB — «мы стояли на „плоскости“»

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

SSB — «мы стояли на „плоскости“»

Предлагаемый текст представляет опыт ознакомления автора с тестом SSB в свете обычных прикладных вопросов BI‑проекта умеренного размаха. Автор пытается бросить пытливый взгляд на спектр перспективных возможностей, обеспечиваемых доступностью и масштабируемостью теста SSB.

Читать далее

Как фильтр Блума ускоряет JOIN'ы в PostgreSQL

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

Как ускорить Hash Join в PostgreSQL, отбросив 99% строк ещё до самого соединения? Рассказываем о фильтре Блума в СУБД Tantor Postgres на живых и синтетических примерах.

Читать далее

ggrebalance: Часть 2. Планирование операции ребаланса

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

В статье рассматривается планирование ребаланса кластера Greengage DB (open-source fork Greenplum) после shrink, декомиссии и добавления хостов: формальная модель размещения primary- и mirror-сегментов, минимизация числа перемещений, сравнение точных и эвристических алгоритмов и реализация планировщика в ggrebalance

Читать далее

Сможет ли DB Client от OpenIDE заменить DataGrip?

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

Меня заинтересовал новый плагин DB Client, который идёт в составе OpenIDE. Давайте посмотрим, может ли он уже на текущий момент стать достойной альтернативой платному DataGrip? Я не предъявляю каких-то узкоспециальных требований к таким инструментам. В основном требуется писать и оптимизировать sql-запросы, просматривать структуру таблиц и диаграмму связей между ними, просматривать актуальный DDL, выполнять мелкие правки данных “на лету”, а также делать импорт и экспорт данных в различных форматах. Давайте по этим пунктам и пройдёмся.

Читать далее

Проектирование системы хранения POSTGRES

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

Мы продолжаем праздновать 30-летие PostgreSQL и публикуем перевод второй фундаментальной статьи о СУБД. Перевод первого манифеста можно прочесть в этом посте.

Читать далее

Как я собрал OmniBot: Discord Activity, локальный ruBERT и модерация без чёрного ящика

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

Когда я начал развивать Discord-сообщество, обычной команды /ban хватило совсем ненадолго. Роли настраивались в одном месте, приветствия — в другом, логи — в третьем, а за уведомления о стримах отвечал отдельный бот.

Подробнее

MinIO, MongoDB, PostgreSQL для хранения 25 лет истории стоимости акций

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

💾 MinIO, MongoDB, PostgreSQL для хранения 25 лет истории стоимости акций

Когда строишь эмулятор для проверки торговой стратегии 20 акций на 25 лет исторических данных поминутно, выбор хранилища становится архитектурной задачей. В статье разобрал, почему попытка использовать MinIO не оправдала себя, где упирается MongoDB и как PostgreSQL с Pgpool-II и read-репликами сократил время чтения одной свечи с 40мс до 10мс

Читать далее

Кейс с артистами: дедупликация пользователей в базе данных и сохранение связанных с ними записей

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

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

Меня зовут Илья Новиков, я технический директор компании «Исходный код».

Ранее карточки артистов создавались автоматически на основе заявок на выступления. Поначалу это казалось вполне приемлемым: артист подает заявку, система создает карточку, администраторы могут с ней работать.

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

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

Правильное решение — предотвращать появление дубликатов до того, как они попадут в систему. Я с этим согласен. Регистрация должна проверять данные, нормализовать контакты и проверять, существует ли человек уже в системе.

Нам этого было недостаточно. У нас уже были производственные данные, производственные пользователи и производственный беспорядок. Нам нужно было перестраивать систему в процессе работы.

Читать далее

Как я подружил self-hosted Supabase с VictoriaMetrics, VictoriaLogs, Grafana и Vector

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

Я использую Supabase в self-hosted режиме: сервисы работают в Docker Compose, включая Postgres, Kong, GoTrue, PostgREST, Storage, Realtime, Edge Functions, Logflare и Vector. Перед Kong стоит Nginx, который завершает TLS и проксирует публичное API.

Мне нужно было закрыть две задачи

Читать далее

Postgres community events. Не пора ли начать использовать возможности цифровизации?

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

Я участвую во всевозможных конференциях и митапах с 2004 года. И сейчас, как и в эпоху, когда кнопочная Nokia давала людям первый, совсем ещё примитивный, опыт мобильности, такие мероприятия проходят в одном и том же формате: выступил, ответил на вопросы аудитории, презентацию выложили в сеть. Да, сегодня ещё выкладывают видео на YouTube. Иногда остаётся чат с перепиской, заполненный в основном организационными вопросами. И этим примерно всё и ограничивается.

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

Если конкретно, то я имею в виду слеующее.

Читать далее

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

Кто выгрузил платежи, или Пример расследования инцидента на аудите в Postgres Pro Enterprise

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

Утечка данных почти никогда не выглядит как взлом — чаще это тихий SELECT без LIMIT от роли, у которой и так есть доступ. Заметить такое штатными средствами PostgreSQL почти невозможно: аудита как отдельной подсистемы там нет, а есть лишь разрозненные логи, из которых расследование превращается в quest с grep. В этой статье — как с помощью pg_proaudit и pgpro-otel-collector превратить эту головную боль в один запрос на LogsQL.

Читать далее

Digital Q.DataBase 18.2: новая архитектура, расширение совместимости и новые инструменты миграции

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

Переход крупных корпоративных систем на отечественные СУБД остается одной из наиболее актуальных задач последних лет. Однако основная сложность подобных проектов заключается не столько в переносе данных, сколько в сохранении работоспособности существующих приложений, написанных под Microsoft SQL Server и Oracle Database.

Именно поэтому развитие Digital Q.DataBase сосредоточено сразу на нескольких направлениях: расширении совместимости с зарубежными СУБД, автоматизации миграции и создании инструментов, позволяющих минимизировать объем ручной доработки приложений.

Версия 18.2 стала одним из наиболее масштабных обновлений платформы. В релиз вошли изменения архитектуры продукта, значительное развитие совместимости с Microsoft SQL Server и Oracle Database, новые возможности мастера миграции, первая версия службы построения отчётов, совместимой с SQL Server Reporting Services, а также десятки других улучшений.

Подробнее об изменениях - в этой статье.

Читать далее

Postgresso #5 (90)

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

Сессионные вычислители — залог успеха аналитики будущего

Всем привет, меня зовут Николай Головazathot Всю свою профессиональную жизнь я строю аналитические платформы. Возможно, вы видели мои статьи про Vertica и Snowflake.

[ Vertica+Anchor Modeling = запусти рост своей грибницы (Avito блог??, перед?? ней HP Vertica, проектирование хранилища данных, больших данных ]

- статья, 27 февраля

наша дискуссия с новой командой начиналась с одного и того же «дня сурка»:

— бизнес: «Аналитики работают слишком медленно!»;
— аналитики: «Нам не дают работать с базой напрямую, заставляют ставить задачи дата-инженерам и ждать неделями!»;
— инженеры: «Да как их пустить в центральное DWH? Вы видели их запросы? Один забытый ON в джойне — и база ложится на бок, блокируя и отчеты для CEO, и критические ETL-процессы».

Этот сюжет я наблюдал везде: в классическом on-premise (Greenplum, Vertica), в модных китайских решениях (StarRocks) и даже в open-source Lakehouse-инсталляциях (Spark). Меня окончательно шокировал кейс одной огромной европейской компании по доставке еды: она сидела на Databricks, имела практически неограниченные ресурсы, но всё равно страдала от взаимных блокировок и конкуренции за ресурсы.

Как должна выглядеть база, в которой аналитикам действительно можно дать полную свободу? Представьте: каждый аналитик работает в своей персональной базе данных. Он видит актуальные данные в реальном времени, но физически не делит «железо» с соседом.

Фантастика? Нет, Snowflake первым доказал, что это возможно, внедрив архитектуру Multi-cluster Shared Data:

Читать далее

Проектирование POSTGRES: как задумывалась популярная СУБД

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

8 июля у PostgreSQL юбилей — ей исполняется 30 лет. В 1996 году Марк Фурнье из компании Networking Services предоставил первый внешний сервер для разработки опенсорсного проекта Postgres. До этого СУБД разрабатывали на мощностях Калифорнийского университета в Беркли .

В день рожденья PostgreSQL мы публикуем перевод статьи, которая послужила основой СУБД. Кстати, у неё тоже юбилей — 40 лет с момента выхода.

Читать далее

Пока все хоронили пайплайны, ClickHouse достраивал слои

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

«Отдельные базы больше не нужны», «конец пайплайнов» - каждую неделю кто-то крупный со сцены хоронит то, что ты вчера поставил в прод. ClickHouse поступил ровно наоборот, и поэтому его анонсы стоит прочитать внимательно. Что реально показали на Open House 2026 и что из этого доедет до прода - разбор практика без вендорского глянца.

Читать далее

Query‑first подход или как из SQL запросов или MongoDB контрактов получить готовое REST API

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

Я давно хотел убрать из backend‑разработки одну особенно липкую рутину: когда для каждой новой сущности снова и снова приходится собирать одни и те же слои REST API — repository, service, handlers, request/response модели, OpenAPI, auth, тесты, curl‑примеры, Docker и прочую инфраструктуру.

В этой статье рассказываю про query‑first подход и open‑source Go CLI rest, который позволяет реализовать эту идею. Смысл простой: если SQL‑запросы или MongoDB‑контракты уже описывают, какие операции нужны приложению, то из них можно сгенерировать согласованный каркас REST‑сервиса.

В статье показано, как это работает для PostgreSQL и MongoDB, что именно генерируется, что такоеrest doctor и почему цель инструмента — не заменить бизнес‑логику, а снять первые 80–90% повторяющейся ручной работы.

Читать далее

Ограничения целостности с отложенной проверкой в PostgreSQL

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

В статье рассматриваются особенности использования ограничений целостности с проверкой, которую можно отложить до фиксации транзакции, а также использование системных триггеров для проверки ограничений целостности. Триггеры создаются для любых внешних ключей - и с немедленной и отложенной проверкой, а для уникальных ключей - только для ограничений с отложенной проверкой. Для уникальных откладываемых ключей создаются уникальные индексы, которые допускают неуникальные значения. В таблице могут находиться строки, нарушающие ограничение уникальности, при том, что статус ограничения целостности в системном каталоге "проверено" (validated).

Читать далее