LINUX.ORG.RU

PostgreSQL 9.3

 


0

2

Вышла новая версия СУБД PostgreSQL — 9.3.

В этой версии:

  • Запись в внешние таблицы. Предыдущие версии PostgreSQL позволяли подключать к базе различные внешние источники данных, в том числе Oracle, MySQL, Redis, LDAP и многие другие. В этой версии добавилась возможность записи в такие «внешние» таблицы. Модуль postgres-fdw, предназначенный для подключения других баз PostgreSQL (базовые функции доступны с 8.1, а полная поддержка всех функций требует 8.3), также поддерживает расчет плана выполения запроса и ограниченную поддержку транзакций.
  • Улучшения надежности и доступности:
    • Опциональная проверка контрольных сумм на читаемых страничках для определения аппаратных сбоев.
    • Быстрое переключение с master на slave при сбое master'а, возможность переключения slave в master в режиме streaming-репликации.
  • Расширения PostgreSQL теперь могут запускать собственные процессы внутри сервера. Предполагается, что эта возможность будет использоваться для создания обработчиков очередей запросов, поддержки выполнения параллельных запросов, планировщиков, альтернативных протоколов и др.
  • Расширены функции для работы с JSON.
  • Материализованные и обновляемые VIEW, упрощенный синтаксис для создания рекурсивных VIEW.
  • Параллельный pg_dump.
  • Отказ от использования разделяемой памяти SysV в пользу posix версии и mmap.
  • В расширении pg_trgm добавлена возможность использования индекса при поиске по регулярным выражениям (в случаях когда из регулярного выражения удается извлечь необходимые для его срабатывания триграммы).
  • Раздельные блокировки для изменения ключевых и неключевых полей таблиц. Благодаря этому повышена производительность и заметно снизилась вероятность возникновения deadlock'ов при параллельном выполнении комплексных транзакций с использованием внешних ключей.

>>> Подробности

★★★★★

Постгрес становится всё вкуснее и вкуснее. Дальнейших успехов проекту!

aist1 ★★ ()

Кстати, поддержка собственных процессов переводит этот сервер баз данных в разряд серверов приложений. Или я не прав?

aist1 ★★ ()

Ну наконец-то осилили новость написать.

ins3y3d ★★★★★ ()

В этом году на fosdem у них был доклад [ PDF ], что по скорости они уделывают всех. Кто-то это испытывал?

ins3y3d ★★★★★ ()

В pgadmin очень не хватает букмарков для быстрого доступа к таблицам и узлам дерева или чего-то подобного - каждый раз пробираться через дебри дерева слева - утомительно.

Bohtvaroh ★★★★ ()

кто-то юзал postgres-xc? Как оно в продакшене?

provaton ★★★★★ ()

Запись в внешние таблицы

Запись во внешние таблицы

bbk123 ★★★★★ ()

В расширении pg_trgm добавлена возможность использования индекса при поиске по регулярным выражениям (в случаях когда из регулярного выражения удается извлечь необходимые для его срабатывания триграммы).

Это они не слабо так извернулись

vertexua ★★★☆☆ ()

Если он так хорош, то почему в LAMP используется не он, а MySQL?

Virus ()
Ответ на: комментарий от ukr_unix_user

Что там такого непосильного? SQL нестандартный?

Virus ()
Ответ на: комментарий от Virus

Для новичков — MySQL намного проще ставится и тюнится. Да и не только новичков — я, вот, так и не научился тюнить Postrge, он у меня на всех тестах тормознее, чем MySQL.

Для тех, кто поопытнее — у MySQL шире возможности репликации, включая мастер-мастер репликацию, удобнее модификации таблиц (насколько я помню, у Постгре можно добавлять новые столбцы только в конец таблицы и нельзя менять их местами), есть выбор из нескольких движков…

Плюс масса стороннего кода, заточенного под MySQL и не понимающего Postrge. Плюс из-за упомянутой выше с большей трудностью установки Postgre преобладание дешёвых хостингов с MySQL и т.п.

Так в сумме и набегает.

(Если кто не понял, я не утверждаю, что MySQL лучше :) )

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

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

dyasny ★★★★★ ()
Ответ на: комментарий от dyasny

Интересно чтобы кто-то подтвердил/опроверг ваше утверждение относительно mysql и производных (percona, mariadb).

ppy ★★ ()
Ответ на: комментарий от dyasny

насколько я помню, mysql

Я же специально отметил — я не утверждаю, что MySQL лучше :) Я пишу, почему он популярнее. Естественно, есть не меньший список того, в чём лучше PostrgeSQL. Но эти фишки мало востребованы рынком.

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

у MySQL шире возможности репликации, включая мастер-мастер репликацию

нет там мастер-мастер препликации, есть только костыль похожий на неё.

mashina ★★★★★ ()
Ответ на: комментарий от mashina

нет там мастер-мастер препликации

Странно, что я практикую то, чего нет :)

KRoN73 ★★★★★ ()
Ответ на: комментарий от Virus

почему в LAMP используется не он, а MySQL?

Почему в булочках с маком используется мак, а не кунжут? Почему подсолнечное масло делают из подсолнечника, а не из оливок? Почему свиные отбивные делают из свинины, а не из говядины?

Ttt ☆☆☆☆☆ ()
Ответ на: комментарий от Ttt

Почему LAMP больше распространён, чем LAPP? Вот, что я имел в виду.

Virus ()
Ответ на: комментарий от Ttt

Почему подсолнечное масло делают из подсолнечника, а не из оливок?

Зато наоборот, оливковое масло из подсолнечника — сколько угодно :D

KRoN73 ★★★★★ ()
Ответ на: комментарий от dyasny

потому что LAMP = Linux, Apache, MySQL, PHP

Спасибо, кэп. А СССР — Союз Советских Социалистических Республик.

Virus ()
Ответ на: комментарий от Virus

Почему LAMP больше распространён, чем LAPP?

я бы вообще все что после L заменил, да и L скатывается в говно

RedPossum ★★★★★ ()
Ответ на: комментарий от KRoN73

репликация не востребована рынком? ну-ну...

dyasny ★★★★★ ()
Ответ на: комментарий от dyasny

репликация не востребована рынком? ну-ну...

Востребована. В т.ч. мастер-мастер :) Что с этим под Postrge? Как реализовать репликацию по кольцу, чтобы внесённые на любой ноде изменения оказывались на всех других нодах?

KRoN73 ★★★★★ ()
Ответ на: комментарий от Virus

А почему бы и нет? Только ASP .Net MVC. Итого WIMANM.

Но я лично пользуюсь Linux, Nginx, uWSGI, MySQL, Django+Python. Но тоже не по своей воле.

Мне всегда было интересно, зачем вообще этот LAMP нужен?(в веб разработке фактически ньюфаг)

RedPossum ★★★★★ ()
Ответ на: комментарий от KRoN73

Нашёл. Триггеры, собственная БД, периодический опрос… Оверхед же. А что делать, если потребуется принудительно засинхронизировать базы?

KRoN73 ★★★★★ ()
Ответ на: комментарий от KRoN73

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

А не пофиг ли на реальный порядок столбцов в таблице, если в запросах на них можно ссылаться в любом порядке? :)

anonymous ()

Эх, master-master репликацию бы еще ему...

2 знатоки постгреса: он же вроде умеет индексы по произвольному выражению (виртуальной колонке)? Значит ли это, что с новыми JSON-функциями теперь можно делать индексы по отдельным полям из хранимого JSON'а?

Sectoid ★★★★★ ()

Что PostgreSQL не хватает для того, чтобы быть полноценным конкурентом Oracle по всем направлениям?

blackst0ne ★★★★★ ()

Нумс, пока что на bamboo (без логов, мигрировал) на pgsql9.3 все быстро, база не жрат столько как mysqlmariadb10-dev (привет utf8-bin).

Другая беда bamboo 5.1 мигрировал на tomcat. :\

bhfq ★★★★★ ()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от blackst0ne

Как ораклист (правда, скорее девелопер а не DBA) с 8-летним стажем, скажу что в 50% случаев PG может заменить оракел без особых проблем.

А в оставшихся случаях не хватает родной кластеризации (которая типа RAC), standby, нормального партиционирования, шумного PR и маркетинга, поддержки (включая серьезное обучение).

Ну и кроме того, «тренды» нонче таковы, что продвинутая логика в БД (чем и понтовался Oracle).

И само собой, понтов и «штабильности» - то есть ситуация примерно как с «никого ещё не уволили за то что он выбрал IBM». Типа если оракл обделался - «ну понимаете, оракл, серьезная фирма, ошибка бывает, ничего не поделать, придется терпеть и жить как получится, костылик сейчас приделаем, а в следующей версии может быть пофиксят». С PG же такое не прокатит - «а, краснаглазая паделка, чиво исчо ожиждать, надо было ставить {MS|Oracle|etc}, оне вот настоясчий ынтырЪпрайзЪ!»

no-dashi ★★★★★ ()
Ответ на: комментарий от blackst0ne

Вопрос из разряда «Что Linux не хватает для того, чтобы быть полноценным конкурентом Windows по всем направлениям?»

Vultaron ()
Ответ на: комментарий от Sectoid

2 знатоки постгреса: он же вроде умеет индексы по произвольному выражению (виртуальной колонке)? Значит ли это, что с новыми JSON-функциями теперь можно делать индексы по отдельным полям из хранимого JSON'а?

Да, можно.

maxcom ★★★★★ ()
Ответ на: комментарий от Vultaron

Vultaron

Вопрос из разряда «Что Linux не хватает для того, чтобы быть полноценным конкурентом Windows по всем направлениям?»


И?

blackst0ne ★★★★★ ()
Ответ на: комментарий от Virus

Если он так хорош, то почему в LAMP используется не он, а MySQL?

В вебе превалируют сравнительно простые SQL-запросы и сравнительно маленькие таблицы. С ними MySQL справляется быстрее, чем постгрес.

anonymous ()
Ответ на: комментарий от no-dashi

Ну и кроме того, «тренды» нонче таковы, что продвинутая логика в БД (чем и понтовался Oracle).

Ненавижу, ммать его. Недавно наткнулся на отправку писем с помощью БД.

Dimez ★★★★★ ()
Ответ на: комментарий от KRoN73

у MySQL шире возможности репликации, включая мастер-мастер репликацию

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

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

Неудобно только тем, кто не осиливает в insert первым параметром указать собственно именования колонок в том порядке, в каком потом перечислены значения

Плюс масса стороннего кода, заточенного под MySQL и не понимающего Postrge

Да, например, Kohana. Этим ушлепкам кто-то даже патч дал с начальной реализацией Postgres, но нет же, «мы есть поддерживайт нихт датабейз ohne дас мисукэл»

GateKeeper ★★ ()

Годнота. С Postgres работаю не так давно, как с MySQL, но впечатления пока только положительные.

gwinn ★★★★ ()
Ответ на: комментарий от GateKeeper

Неудобно только тем, кто не осиливает в insert первым параметром указать собственно именования колонок в том порядке, в каком потом перечислены значения

есть ещё вопрос оптимизации. Иногда перестроением (физического) порядка можно увеличить производительность.

mashina ★★★★★ ()

по регулярным выражениям

Годно, перлобоги одобряют.

anonymous ()
Ответ на: комментарий от dyasny

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

Да там ведь вообще все по другому. Там ведь версионность

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.