Подолжаю публиковать авторскую переработку Understanding EXPLAIN от Guillaume Lelarge.
Ещё раз обращу внимание, что часть информации для краткости опущено, так что настоятельно рекомендую ознакомиться с оригиналом.
Рубрика «postgresql» - 69
Оптимизация запросов. Основы EXPLAIN в PostgreSQL (часть 3)
2013-11-25 в 7:19, admin, рубрики: highload, postgresql, оптимизация, метки: highload, postgresql, оптимизацияОптимизация запросов. Основы EXPLAIN в PostgreSQL (часть 2)
2013-11-23 в 17:04, admin, рубрики: highload, postgresql, оптимизация, метки: highload, postgresql, оптимизация
Подолжаю публиковать авторскую переработку Understanding EXPLAIN от Guillaume Lelarge.
Ещё раз обращу внимание, что часть информации для краткости опущено, так что настоятельно рекомендую ознакомиться с оригиналом.
Предыдущие части:
Оптимизация запросов. Основы EXPLAIN в PostgreSQL
2013-11-23 в 5:38, admin, рубрики: highload, postgresql, оптимизация, метки: highload, postgresql, оптимизация
Почему запрос выполняется так долго? Почему не используются индексы?
Наверное, все слышали об EXPLAIN в PostgreSQL. Но не так много тех, кто понимает, как его использовать. Сам длительное время не мог найти доступного для понимания учебника (плохо искал?).
Надеюсь, эта статья поможет желающим разобраться с этим замечательным инструментом.
Читать полностью »
Миграция с mysql на postgresql
2013-10-21 в 8:25, admin, рубрики: django, mysql, postgresql, python, миграция, метки: Django, mysql, postgresql, миграцияПривет уважаемому сообществу!
В какой-то момент времени встала потребность перенести базу приложения на django с mysql на postgresql. Первые два захода на эту проблему были неудачными, но позволили разобраться с целостностью данных, искоренить проблемы для manage.py syncdb
и manage.py migrate
.
Читать полностью »
Создание расширений в PostgreSQL
2013-10-20 в 20:53, admin, рубрики: open source, postgresql, базы данных, Веб-разработка, слоны, метки: postgresql, базы данных, слоны
Здравствуйте, читатели! Темой этой статьи будет создание расширений для PostgreSQL. В качестве примера, мы реализуем небольшую библиотеку для работы с 3D векторами. Параллельно будут рассмотрены пользовательские типы, операторы и приведения типов. Не будет лишним ознакомися с этим материалом, так как реализация хранимых функций будет на языке C. Надеюсь, друзья слонов помогут скрасить серый технический текст статьи.
Читать полностью »
Как не потерять данные в PostgreSQL
2013-10-16 в 9:39, admin, рубрики: backup, postgresql, резервное копирование, метки: backup, postgresql, резервное копирование PostgreSQL предлагает несколько вариантов резервирования данных. Обо всех них уже рассказано не раз, в том числе и на хабре. Но в основном рассказывается про технические особенности методов. Я же хочу постараться рассказать про общую стратегию резервного копирования, объединив все методы в эффективную систему, которая поможет вам сохранить все данные и уменьшить число погибших нервных клеток в критических ситуациях.
Вводные данные: сервер PostgreSQL 9.2, База размером >100Gb.
Читать полностью »
Загружаем данные в postgresql
2013-10-16 в 2:56, admin, рубрики: benchmark, golang, postgresql, postgresql 9.3, метки: benchmark, golang, postgresql 9.3 Прочитал статью о разгоне производительности операций вставок в СУБД Oracle при помощи транзакций на Java. Так как в данный момент я работаю с postgresql, то решил проверить, сколько выдаст эта СУБД в связке с голангом.
Используемый стек: golang-1.1.2 + postgresql-9.3.1.
Для запуска программы понадобится голанговский драйвер для postgresql. Я пользуюсь драйвером github.com/lib/pq, который установил при помощи команды go get -u github.com/lib/pq.
Читать полностью »
Хранимые функции на С в PostgreSQL
2013-10-06 в 20:02, admin, рубрики: postgresql, Администрирование баз данных, базы данных, Веб-разработка, слоны, метки: postgresql, базы данных, слоны
Здравствуйте, читатели! Многие из Вас сталкивались с вынесением бизнес-логики в СУБД в виде хранимых функций/процедур, облегчая клиент. В этом есть как и преимущества, так и недостатки. Сегодня я бы хотел рассказать Вам как создавать хранимые функции в PostgreSQL, написанные на языке C. В статье будут самые основы, которые необходимо знать для начала работы с ними.
Читать полностью »
PostgreSQL 9.3 Что нового?
2013-09-30 в 19:23, admin, рубрики: postgresql, Администрирование баз данных, базы данных, Веб-разработка, метки: postgresql, базы данных
Здравствуйте, читатели! Не так уж давно вышел релиз PostgreSQL 9.3 и я хотел бы ознакомить Вас с наиболее важными новшествами, касающимися клиентской части, которые, возможно, пригодятся Вам. В этой статье рассмотрено следующее:
- материализированные представления
- обновляемые представления
- триггеры к событиям
- рекурсивные представления
- латеральное присоединение
- изменяемые внешние таблицы
- функции и операторы для работы с типом JSON
Секционирование таблиц моделей в Django с PostgreSQL
2013-09-27 в 18:03, admin, рубрики: django, Partitioning, postgresql, sql, Администрирование баз данных, секционирование, метки: Django, Partitioning, postgresql, sql, секционирование Привет.
Это топик о том, как относительно быстро и безболезненно настроить секционирование (партицирование) таблицы по месяцам, если вы используете Django+PostgreSQL. Многое из описанного подойдёт и для других фреймворков и ORM.
О том, что такое секционирование и зачем оно нужно, можно почитать, например, здесь, здесь и здесь.
Итак, есть проект на Django и таблица одной из моделей должна быть очень большой. Если чтение из этой таблицы происходит часто, и всегда известен период времени, в который запись была сделана, секционирование ускорит работу базы данных.
Каждый раз писать запросы для включения секционирования не очень хочется, так что попробуем автоматизировать. Хорошо, если на выходе получится что-то, что может использовать и не сильно знакомый с SQL человек. I've read the docs, so you don't have to.Читать полностью »