Обновить
256K+

PostgreSQL *

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

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

DeepSeek, PG_EXPECTO и философская инструкция: тройная диагностика аномалий PostgreSQL (15 -> 17)

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

Официальное предупреждение (дисклеймер)

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

В частности:

— экспериментальные данные обработаны и проанализированы нейросетью;

— иллюстративный материал, сопутствующие слоганы, а также предисловие и послесловие сгенерированы нейросетью;

— макет статьи редактировался и корректировался нейросетью.

Лицам, придерживающимся позиции «ИИ-веганства» (испытывающим устойчивый страх, неприязнь или психологический дискомфорт по отношению к нейросетевым системам), настоятельно не рекомендуется ознакомление с содержанием данной публикации, равно как и участие в её обсуждении, во избежание возможного нанесения вреда психологическому благополучию.

Если интересно, читайте.

Новости

Резервирование PostgreSQL с помощью WAL-G

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

Утилита резервирования pgBackRest перестала поддерживаться, стало актуальным найти ей замену. Главными альтернативами называют WAL-G и Barman. Можно использовать pg_basebackup+pg_receivewal. Преимущество WAL-G в том, что резервирование возможно по протоколу S3, WAL-G обеспечивает более высокую скорость резервирования и сжатия, имеет неплохие перспективы развития. Кроме протокола S3, WAL-G может резервировать и восстанавливать из директории в файловой системе, работает с Patroni. Директория с бэкапами не обязательно должна находиться на локальном диске, можно смонтировать любую файловую систему, например, NFS. Утилита свободно распространяемая.

В статье рассматриваются примеры команд, которыми можно резервировать и восстанавливать PostgreSQL утилитой WAL-G с обеспечением защиты от потерь транзакций (zero data loss).

Читать далее

Долгие миграции на старте сервиса — это не startup-проблема. Это ошибка в архитектуре релиза

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

Когда сервис поднимается по 8-15 минут, команда почти всегда начинает крутить одни и те же ручки: увеличивает initialDelaySeconds, добавляет startupProbe, поднимает progressDeadlineSeconds, иногда переносит миграцию в initContainer и считает, что стало «по-кубернетесному». Обычно это не лечение. Это способ аккуратнее завернуть проблему в YAML. Если тяжёлая миграция живёт внутри старта приложения, вы связали жизненный цикл Pod, rollout Deployment и поведение базы в один общий узел. А такие узлы в проде рвутся не там, где их ждут.

Читать далее

Доверяй но проверяй: как проверить качество энтерпрайзных модификаций PostgreSQL на стороне клиента

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

Доверяем ли мы качеству OSS PostgreSQL? — выглядит он достойно. А насколько безопасны фичи, добавленные вендором? Это вопрос, поскольку код закрытый. Сила бренда — это хорошо, но хотелось бы иметь объективное подтверждение.

Здесь я рассказываю о небольшом изобретении — модуле pg_pathcheck. Он выводит на новый уровень контроль надёжности СУБД — позволяет проверять качество кода на стороне клиента. А конкретно, на его серверах и нагрузке проверить, не остаётся ли внутри оптимизатора так называемые dangling pointers — указателей вникуда. Это может не приводить к проблемам, пока оптимизатор не трогает эти указатели, но вот если таки тронет...

Читать далее

Тонкости Kafka Connect и Debezium

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

Привет! Меня зовут Ильсаф, я инженер данных в MAGNIT OMNI — бизнес-группе ритейлера «Магнит», которая отвечает за развитие омниканального опыта для клиентов. В этой статье я собрал свои практические наблюдения по работе Kafka Connect и Debezium с PostgreSQL: от настройки репликации до мониторинга и бэкфиллинга.

Читать далее

Автоматизация проектных продаж и закупок: внедрение on-prem BPMS на Linux и PostgreSQL

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

Чтобы подготовить КП по сложному инженерному проекту, одного менеджера недостаточно. Нужно собрать расчёты от нескольких специалистов, а после согласования решения проверить наличие сотен позиций на складе и докупить недостающее. Когда это ведут в разных системах, растёт доля ручных операций и риск ошибок. Рассказываем, как собрали единый цифровой контур для управления сложными продажами и закупками в on-prem BPMS на Linux и PostgreSQL.

Читать далее

Скрытая цена JSONB в PostgreSQL: что происходит при обновлении больших документов

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

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

Проблемы начинаются позже. Данные растут, в документ добавляются новые поля, часть из них начинает часто обновляться, а потом внезапно выясняется, что вроде бы безобидный UPDATE одного ключа внутри jsonb стоит заметно дороже, чем ожидалось.

В этой статье мы не собираемся доказывать, что jsonb плохой тип данных. Наоборот: jsonb – один из самых полезных инструментов PostgreSQL. Хотелось бы разобраться в более узком вопросе:

что именно происходит, когда мы обновляем один ключ внутри большого JSONB-документа, и чем это отличается от обновления обычной колонки рядом с таким же большим документом?

Читать далее

Обрезка большой 1С. Обрезать или не обрезать?

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

На протяжении уже лет пятнадцати мы сталкиваемся с вопросом типа: «А вы уверены, что без обрезки никак?». Речь идёт о многотерабайтных базах 1C: десять лет назад это были базы 1-2 Тб, а сейчас это уже десятки Тб. Специалисты меняются, железо становится мощнее, но вопрос остаётся.

Пожалуй, можно поделить участников этого опроса на две группы: «Резать к чёртовой матери» и «Полный бред резать базу – нужно правильно обслуживать и заложить нормальную архитектуру».

Читать далее

Telegram Mini App для PWA-приложения: как я перешёл с TWA для RuStore и что выяснил по дороге

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

Я разрабатываю PWA для голосовой практики английского. Несколько раз пытался опубликовать его в RuStore через Trusted Web Activity (TWA) — Google-обёртку, которая упаковывает PWA в подписанный Android AAB. После четырёх отказов модерации я понял, что для моего класса приложений TWA в RuStore не работает, и за день переключился на Telegram Mini App.

Эта статья — не история стартапа, а разбор технических решений:

Читать далее

Книга: «Антипаттерны PostgreSQL и как их избежать»

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

Привет, Хаброжители! Исправление ошибок в базах данных PostgreSQL может быть трудоемким и рискованным процессом — особенно при внесении изменений в работающую систему в реальном времени. К счастью, можно учиться на ошибках, которые уже совершили другие! Автор подробно описывает, как выявлять и предотвращать самые распространенные, опасные и скрытые антипаттерны проектирования при работе с PostgreSQL.

Читать далее

At-least-once. Это не баг провайдера. Это ваша архитектурная проблема

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

Думал, зайду в крипту и буду просто дёргать API блокчейна. Не вышло.

Захожу в проект. Стек: FastAPI, PostgreSQL, Redis как Celery broker, Celery workers, Docker, Web3. Стартап на хайпе, деньги реальные, архитектура собрана на коленке. Смотрю на архитектуру платёжного процессинга и первая мысль: ребята, вы серьёзно? Финансовые операции с реальными деньгами, без idempotency вообще, Redis как брокер без persistence, Web3.py синхронные вызовы внутри Celery тасков.

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

Читать далее

Весенний релиз. Что мы сделали в Кибер Бэкапе 18.5

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

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

Читать далее

Перенос данных из отчетов 1С в PostgreSQL в два клика

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

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

Читать далее

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

Проектируем сервис HTTP-запросов: Kafka, PostgreSQL, Redis-очередь и миллионы логических партиций

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

Ни одна «одна технология» не закрывает это без слоёв. Сначала — почему в стеке именно Kafka, PostgreSQL и Redis; дальше — как мы спроектировали сервис Requester: контекст, движение данных, внутренние воркеры, graceful shutdown, детали rate limit / retry / cache / отложенных задач, wake-up, тестирование и узкое место с большими payload в Redis.

Читать далее

Пять неочевидных вещей, которые я узнал, запуская кино-соцсеть: от robots.txt-ловушки до 24-мерной математики вкуса

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

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

Эта статья — про неожиданные находки. Не про «как я выбрал стек» (скучно) и не про «туториал по WebRTC» (и без меня есть). Это пять ситуаций, в которых я споткнулся, обнаружил что-то интересное, и подумал «об этом стоит рассказать — другим пригодится».

Поехали.

Читать далее

10 кругов ада управленческого учёта малого бизнеса РФ на Go+pgx. От идеи до зависимости

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

Автор прекрасно понимает, что тема ERP/CRM систем обсосана со всех сторон ещё десятилетие назад. Огромное количество разработчиков и по сей день зарабатывают на внедрении систем на подобии 1C:ERP в предприятия. Однако поспешу обрадовать читателя, сегодня я попытаюсь описать процесс создания своего рода аналога такой системы на довольно необычном для этой сферы стеке и углубиться в тонкости её устройства.

Проще говоря, я опишу процесс создания системы управления малым бизнесом на Go, опишу ключевые архитектурные проблемы, возникшие передо мной и затрону ряд зависимостей, которые я успешно приобрел и преумножил в процессе реализации такого инструмента (включая трамадоловую и алкогольную). Кроме того в этой статье затрагиваются аспекты реализации SAAS-подобных систем с физической изоляцией данных, что в свою очередь применимо к огромному количеству сфер разработки, кроме ERP систем.

Читать далее

Конфликты потоковой репликации в PostgreSQL

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

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

В статье описываются конфликты репликации и как с ними бороться.

Читать далее

Сравнение результатов «PG_EXPECTO + Philosophical_instruction»: 3.5 -> 4 -> 5 -> 5.1

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

От осторожных гипотез к верифицированным выводам: тест инструкций на реальных метриках нагрузки.

⚠️Официальное предупреждение (дисклеймер)⚠️

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

В частности:

— экспериментальные данные обработаны и проанализированы нейросетью;

— иллюстративный материал, сопутствующие слоганы, а также предисловие и послесловие сгенерированы нейросетью;

— макет статьи редактировался и корректировался нейросетью.

Лицам, придерживающимся позиции «ИИ-веганства» (испытывающим устойчивый страх, неприязнь или психологический дискомфорт по отношению к нейросетевым системам), настоятельно не рекомендуется ознакомление с содержанием данной публикации, равно как и участие в её обсуждении, во избежание возможного нанесения вреда психологическому благополучию.

Если интересно, читайте.

Что изучить этой весной — Kubernetes, DevSecOps, Ansible и Nginx

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

В инфраструктуре почти не бывает задач «на один клик»: за деплоем тянутся CI/CD, за Kubernetes — эксплуатация, за нагрузкой — Nginx, Postgres, мониторинг и безопасность. В этом выпуске собрали материалы и ближайшие открытые уроки по тем темам, в которые чаще всего приходится погружаться уже на практике. Это хороший способ быстро разобраться в конкретной теме, посмотреть на рабочие подходы и понять, что стоит изучить уже системно.

Перейти к материалу

Apache Cloudberry — преемник Greenplum?

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

Greenplum много лет был в опенсорсе на GitHub под лицензией Apache 2.0. Казалось бы, лицензия Apache 2.0, что может пойти не так? Осенью 2023 года репозиторий неожиданно перестал принимать наши пул‑реквесты. Все наши CLA отозвали, а новые не подтвердили без каких‑либо пояснений.

А в мае 2024-го репозиторий был закрыт. Да, к опенсорс‑проекту могут потерять интерес — и он окажется заброшен. Но здесь, по сути, присвоили наши пул‑реквесты, изменив лицензию у кода, который мы написали, просто потому, что «ничего личного, это бизнес». Обстоятельства менялись, и вот — новые правила использования БД. Твои опыт и достижения либо присваиваются корпорацией, либо обнуляются.

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

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