Обновить
152.54

PostgreSQL *

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

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

Метаданные S3 в PostgreSQL. Лекция Яндекса

Время на прочтение12 мин
Охват и читатели14K
Это вторая лекция с Я.Субботника по базам данных — первую мы опубликовали пару недель назад.

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


— Всем привет! Меня зовут Дима, в Яндексе я занимаюсь базами данных.

История активных сессий в PostgreSQL — новое расширение pgsentinel

Время на прочтение2 мин
Охват и читатели7.5K
Компания pgsentinel выпустила одноимённое расширение pgsentinel (репозиторий github), добавляющее в PostgreSQL представление pg_active_session_history — историю активных сессий (по аналогии с оракловой v$active_session_history).

По сути, это просто-напросто ежесекундные снимки из pg_stat_activity, но есть важные моменты:

  1. Вся накопленная информация хранится только в оперативной памяти, а потребляемый объём памяти регулируется количеством последних хранимых записей.
  2. Добавляется поле queryid — тот самый queryid из расширения pg_stat_statements (требуется предварительная установка).
  3. Добавляется поле top_level_query — текст запроса, из которого был вызван текущий запрос (в случае использования pl/pgsql)
Читать дальше →

Как из PostgreSQL и ClickHouse в Python много, быстро и сразу в numpy

Время на прочтение4 мин
Охват и читатели26K
Разбил много кружек в поисках решения для быстрого получения длинных историй цен для большого количества активов в Python. Ещё имел смелость желать работать с ценами в numpy-массивах, а лучше сразу в pandas.

Стандартные подходы в лоб работали разочаровывающе, что приводило к выполнению запроса к БД в течение 30 секунд и более. Не желая мириться, я нашёл несколько решений, которые полностью меня удовлетворили.
Читать дальше →

Дайджест новостей из мира PostgreSQL. Выпуск №8

Время на прочтение4 мин
Охват и читатели4.3K
Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.

Слоны


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

Релизы


PostgreSQL 11 Beta 2 Released
Выход этого релиза в том числе связан с обнаруженной проблеме со SCRAM. В Beta 1 появилась мажорная фича Channel Binding for SCRAM Authentication (привязка канала) для предотвращения атак с «человеком посередине» (man-in-the-middle). Но при тестировании выяснилось, что libpq не в состоянии гарантировать channel binding. В Beta 2 сама фича не удалена, но удалена документация к ней, а фича потеряла статус мажорной.Подробней о релизе можно прочитать здесь, а скачать Beta 2 можно здесь.

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

Функции для документирования баз данных PostgreSQL. Часть вторая

Время на прочтение19 мин
Охват и читатели5.6K
Это вторая часть статьи, которая описывает пользовательские функции для работы с системными каталогами: pg_class, pg_attribute, pg_constraints и т.д.

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

Функции для документирования баз данных PostgreSQL. Часть первая

Время на прочтение19 мин
Охват и читатели13K
За время работы с PostgreSQL накопилось больше ста функций для работы с системными каталогами: pg_class, pg_attribute, pg_constraints и т.д.


Что с ними делать? Используются они относительно редко. Включить в какой-нибудь проект? Красноярский заказчик за такую «ерунду» платить не будет. И все же, а вдруг они полезны еще кому-то кроме автора. И решил выложить их, как прочитанные книги в общедоступный шкаф для желающих.
Читать дальше →

По следам meetup «Новые возможности PostgreSQL 11» (часть 2)

Время на прочтение5 мин
Охват и читатели5.2K
В первой части мы рассказали об основных нововведениях и изменениях в PostgreSQL 11. На этот раз чуть подробнее обсудим некоторые моменты в формате вопрос/ответ, которые поднимались на meetup.
Читать дальше →

ThinkingHome.Migrator — версионная миграция схемы базы данных на платформе .NET Core

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

Привет! Сегодня я выпустил новую версию ThinkingHome.Migrator — инструмента для версионной миграции схемы базы данных под платформу .NET Core.


Пакеты опубликованы в NuGet, написана подробная документация. Вы уже можете пользоваться новеньким мигратором, а я расскажу, как он появился, почему у него номер версии 3.0.0 (хотя это первый релиз) и зачем он нужен, когда есть EF Migrations и FluentMigrator.

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

Слайды курса «Технологии и разработка СУБД»

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


На протяжении последнего года моя коллега Анастасия Лубенникова и я вели курс под названием «Технологии и разработка СУБД». Данный курс посвящен разработке реляционных СУБД с акцентом на конкретную реализацию в лице PostgreSQL. Мы сотрудничали сразу с несколькими ВУЗами. На ВШЭ это был обязательный предмет, рассчитанный на студентов 4-го курса (на фото студенты сдают экзамен). В ВМК МГУ это был предмет по выбору, на который ходили студенты разных курсов.
Читать дальше →

Курсы по администрированию PostgreSQL

Время на прочтение3 мин
Охват и читатели21K
Поводом к написанию статьи стал выход нового учебного курса DBA3 «Администрирование PostgreSQL 10. Резервное копирование и репликация». Мысли о его появлении и возможном содержании были у нас давно. Но обо всем по порядку.
Читать дальше →

Нерегулярные тайлы на поверхности процедурно-генерируемых планет

Время на прочтение7 мин
Охват и читатели4.3K
Здесь будет рассмотрен способ деления сферической поверхности процедурно-генерируемой планеты нерегулярными тайлами, и, как его следствие, подразделение океана и континентов на отдельные участки (сектора). Мы предполагаем, что на поверхности планеты уже задана структура участков суши с помощью какой-либо GIS и возможен экспорт векторных данных в ESRI shapefiles или непосредственно в PostgreSQL базу данных с расширением PostGIS. Сам процесс создания секторов осуществляется средствами PostGIS.
Читать дальше →

Опыт 1440 миграций баз данных

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


Представьте себе Oracle DBA. Ему уже за тридцать, он слегка полноват, носит жилетку, на шее у него висит секретный токен доступа ко всем базам, а в резюме полстраницы пройденных им сертификаций. Суббота. День большого релиза. Кульминация. Время накатывать изменения на базу данных. Он набирает sqlplus, нажимает ENTER и по черному экрану куда-то вверх, в пустоту, устремляются километры SQL команд. Совсем как в звездных войнах. Спустя пять минут все готово. Через час релиз завершен. Работа сделана, день удался. Теперь можно и по паре пива.
На самом деле нет

«20 тысяч IOPS на узел — хорошие показатели с учётом задержек в 5 мс». Для OLTP — нет

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

КДПВ


Поводом написать эту статью стал весьма достойный обзор Как мы тестировали VMware vSAN... компании КРОК. Обзор-то достойный, но в нем есть фраза, с которой я борюсь уже больше десятка лет. Админы СХД, виртуализаторы и интеграторы раз за разом повторяют: "Задержки в 5 мс — это отличный показатель". Даже цифра в 5 мс десять лет не меняется. Я это слышал вживую от весьма уважаемых админов уже не меньше десятка раз. От менее уважаемых — десятки, а уж сколько раз читал в интернете… Нет, нет, нет. Для OLTP нагрузок 5 мс, особенно так, как их обычно измеряют — это epic fail. Мне приходилось объяснять причины этого уже много раз, на этот раз я решил собрать свои мысли в переиспользуемую форму.


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

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

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

Отладка и устранение проблем в PostgreSQL Streaming Replication

Время на прочтение27 мин
Охват и читатели70K
Потоковая репликация, которая появилась в 2010 году, стала одной из прорывных фич PostgreSQL и в настоящее время практически ни одна инсталляция не обходится без использования потоковой репликации. Она надежна, легка в настройке, нетребовательна к ресурсам. Однако при всех своих положительных качествах, при её эксплуатации могут возникать различные проблемы и неприятные ситуации.

Алексей Лесовский (@lesovsky) на Highload++ 2017 рассказал, как с помощью встроенных и сторонних инструментов, диагностировать различные типы проблем и как устранять их. Под катом расшифровка этого доклада, построенного по спиральному принципу: сначала мы перечислим все возможные средства диагностики, потом перейдем к перечислению типовых проблем и их диагностике, далее посмотрим, какие экстренные меры можно принять, и наконец как радикально справиться с задачей.


О спикере: Алексей Лесовский администратор баз данных в компании Data Egret. Одной из любимых тем Алексея в PostgreSQL является потоковая репликация и работа со статистикой, поэтому доклад на Highload++ 2017 был посвящен тому, как помощью статистики искать проблемы, и какие использовать методы для их устранения.

План


  1. Немного теории, или как работает репликация в PostgreSQL
  2. Troubleshooting tools или что есть у PostgreSQL и сообщества
  3. Troubleshooting cases:
    • проблемы: их симптомы и диагностика
    • решения
    • меры, которые нужно принимать, чтобы этих проблем не возникало.

Зачем всё это? Эта статья поможет вам лучше разбираться в потоковой репликации, научиться быстро находить и устранять проблемы, чтобы сократить время реакции на неприятные инциденты.

По следам meetup «Новые возможности PostgreSQL 11»

Время на прочтение16 мин
Охват и читатели14K
Сегодня мы расскажем о самых главных фичах PostgreSQL 11. Почему только о них — потому что некоторые возможности нужны далеко не всем, поэтому мы остановились на самых востребованных.

Содержание



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

Дайджест новостей из мира PostgreSQL. Выпуск №7

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


Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.

Релизы


Как и обещано, бета-версия PostgreSQL 11 вышла 25-го мая. Ее новшества по отношению к 10.х в основном уже перечислены в сводке Что заморозили на feature freeze.

Postgres Pro 10.4.1
Компания Postgres Professional выпустила новые релизы Postgres Pro Standard/Enterprise 10.4.1, созданные на базе PostgreSQL 10.4 и Postgres Pro 10.3.2. В них вошли все улучшения версии PostgreSQL 10.4, а также ряд важных доработок:

  • обновлён модуль jsquery, отвечающий за запросы к типу данных jsonb;
  • утилита pg_probackup для управления резервным копированием и восстановлением кластеров баз данных обновлена до версии 2.0.17 и дополнена новыми возможностями; например, добавлен режим DELTA, в котором считываются все файлы данных в каталоге и создаётся инкрементальная копия для страниц, изменённых со времени предыдущего копирования;
  • модуль pg_pathman, отвечающий за секционирование больших и распределённых баз данных, обновлён до версии 1.4.11, в которой исправлен ряд ошибок;
  • исправлена сортировка букв «Ё» и «Й» в модуле mchar, предоставляющем дополнительные типы данных для совместимости с Ms SQL Server;
  • доработана версия для Windows.

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

Мониторим активные сессии PostgreSQL 10, как в Oracle

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

Данный инструмент написан из спортивного интереса, когда мною было обнаружено, что вьюха pg_stat_activity в PostgreSQL 10 имеет поля wait_event_type и wait_event, очень похожие по сути на оракловые wait_class и event из v$session.

Активно работая в данный момент с программой ASH-Viewer от akardapolov мне стало любопытно — насколько сложно переписать этот продукт под Postgres. Учитывая, что я не профессиональный разработчик, было не просто, но очень интересно. По ходу дела даже нашёл, как мне кажется, пару значительных багов, которые проявляются и в оригинальной программе для Oracle, по кр.мере для Standard Edition.

Принципы работы PASH-Viewer:


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

PGCon 2018: фотографии, слайды, впечатления

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


На прошлой неделе, с 29 мая по 1 июня, состоялась конференция PGCon 2018. PGCon проходит в Оттаве каждый год. В отличие от других конференций, посвященных PostgreSQL, PGCon позиционируется, как конференция не пользователей, а разработчиков. Это делает ее крайне важным событием в жизни проекта. Далее я хотел бы поделиться своими впечатлениями от конференции и рассказать о наиболее запомнившихся мне моментах.
Читать дальше →

Битва при MERGE. Хроника с выводами и моралью

Время на прочтение11 мин
Охват и читатели29K
Несколько недель перед важным комитфестом — последним перед feature freeze версии PostgreSQL 11 — читатели рассылки hackers, сжимая в левой пакет с чипсами, следили за триллером MERGE. Режиссер триллера, глава компании 2ndQuadrant Саймон Риггс (Simon Riggs), с впечатляющей настойчивостью и изобретательностью пытался протащить в версию патч, реализующий синтаксис команды MERGE. Риггс комитер с 2009 года, а со статусом комитера можно самому утверждать патчи. Ему противостояли не менее уважаемые комитеры и ветераны PostgreSQL. Страсти кипели явно и подспудно, до прямых оскорблений все же не дошло — факт удивительный для завсегдатаев многих отечественных форумов. Однако некоторое напряжение осталось до сих пор, когда вопрос утрясли, и спорить уже не о чем.
Читать дальше →

Мир магии PostgreSQL: интервью с Николаем Самохваловым

Время на прочтение17 мин
Охват и читатели9.7K
Сегодня мы поговорим с Николаем, «борцом» за продвижение новых технологий в мире БД, членом нашего программного коммитета и активным участником всевозможных конференций. Главные темы — самоуправляемые СУБД, DBA AI, облака, NoSQL, встроенные механизмы контроля БД, доклады на РИТ++ и HighLoad++ Siberia, а также масса дельных советов и примеров, которые могут пригодится в реальной работе как разработчику, так и DBA.


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

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