LINUX.ORG.RU

PostgreSQL 9.0

 , ,


0

0

На зеркалах уже появился tarball завтрашнего релиза одной из ведущих открытых реализаций реляционной СУБД - PostgreSQL 9. Данное обновление преподносит пользователям огромное число новшеств, главные из которых:

  • Простая в использовании репликация
  • Массовое управление правами доступа
  • Различные улучшения в хранимых процедурах, включая анонимные блоки кода
  • Exclusion constraints - обобщенный аналог ограничения уникальности, позволяющий строить более сложные условия
  • Откладываемые ограничения уникальности (deferrable unique constraints)
  • Новая реализация VACUUM FULL. Теперь команда полностью перезаписывает таблицу и индексы, устраняя проблему роста индексов и работает быстрее предыдущего алгоритма
  • Новая быстрая реализация LISTEN/NOTIFY
  • Различные улучшения производительности, в том числе исключение ненужных операций JOIN (что улучшает производительность некоторых ORM)

Также появился встроенный модуль passwordcheck для анализа стойкости паролей, аутентификация через RADIUS и LDAP, Python3 в PL/Python и многое другое.

>>> Changelog

★★★★★

Проверено: maxcom ()
Последнее исправление: anonymous_incognito (всего исправлений: 9)
Ответ на: комментарий от argin

> В этой версии появилась мастер-мастер репликация в основной ветке

Это разве master-master? «Built-in replication based on log shipping. This advance consists of two features: Streaming Replication, allowing continuous archive (WAL) files to be streamed over a network connection to a standby server, and Hot Standby, allowing continuous archive standby servers to execute read-only queries. The net effect is to support a single master with multiple read-only slave servers».

tailgunner ★★★★★
()

The pgAdmin Development Team are pleased to announce the release of
pgAdmin III v1.12.0.

pgAdmin is a comprehensive Open Source database management tool for
PostgreSQL, offering an SQL Query tool, table data editor, editors for
virtually all object types, including Slony objects, a procedural
language debugger, configuration editors and graphical query builder.
pgAdmin runs on Linux, Mac, Windows, FreeBSD and Solaris platforms.

This release is the culmination of over 12 months of development work
and adds support for PostgreSQL 9.0, as well as numerous other
enhancements which can be seen in the change log:

http://www.pgadmin.org/development/changelog.php

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

> Это разве master-master?

нет конечно. master-master это bucardo какой-нибудь. или даже более ужасный pgcluster.

Popil_Bablosov
()

>Массовое управление правами доступа УРа!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Одна из самых лучших новостей!

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

> Ну я в имени поля «id» подразумевал первичный ключ, как бы само собой.

Само собой. Просто выборка по любому другому индексу, кроме первичного ключа в MySQL постоянно была медленней. Может уже что-то исправили, по на больших InnoDB табличках разница была существенна (мне помнится, за счет io в первую очередь).

Ну, кстати, у оракла он поди ещё дороже.

Потому и в кавычках.

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

Аналогично. Как любят на лоре говорить «мускуль не нужен». ;)

если там сделали человеческую репликацию

Мастер и два read-only слейва тестировали, вроде работает неплохо. Сейчас ребята поставят релиз, и в препродакшен погоняют как следует.

Но я тут предвзят, я с ораклом раньше познакомился.

Мне Sybase не нравился хотя бы тем, что он блокировщик, а оттуда и до неприятия диалекта недалеко. Вылавливать, где там dead-lock в наполовину чужом проекте — хуже некуда. Превращается иногда в рефакторинг, сравнимый по трудозатратам с «написать заново». Справедливости ради, в версионниках свои готчас…

baka-kun ★★★★★
()
Ответ на: комментарий от grigoreo

конечно проще, юзай InnoDB с поддержкой транзакций.

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

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


С Oracle плотно не работал, но если это так, то это по меньшей мере глупо.
Не вижу никаких плюсов в плане безопасности.
Роли для того и нужны чтобы управлять профилями пользователей.
Если у меня 500 пользователей с типовыми правами, я должен для каждого доступ к хранимой процедуре дать?

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

Извиняюсь, я хотел задать вопрос, а не сделать утверждение :-)

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

Я просто забыл поставить вопросительный знак в конце :-)

меня не вдохновило, то что я прочитал в подробностях, и я решил спросить об этом здесь

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

Индусофобам на заметку...

Как говорится, в то время когда «продвинутые» европеойды лазили по деревьям, и жили в пещерах питаясь сырым мясом диких бизонов, индусы изобрели:

Чайное вино,конфеты,чайный бисквит,выработали календарь.изобрели зодиак....изобрели десятичную систему, алгебру, дифференциал, интеграл и бесконечно малую величину. Они также открыли геометрию и тригонометрию, и по этим двум наукам построили и доказали теоремы, которые были открыты в Европе только в семнадцатом и восемнадцатом веках....вычислили отношение окружности к диаметру. Далее мы им обязаны квадратом гипотенузы и таблицей, неправильно называемой пифагоровой....Они знали состав воды, и сформулировали для газов знаменитый закон, который мы знаем только со вчерашнего дня, что газ находится в отношении обратных величин к давлению им испытываемому. Они знали, как приготавливать серную, азотную и соляную кислоты; окиси меди, железа, свинца, олова и цинка; осернения железа, меди, ртути, антимония и мышьяка; сульфата цинка и железа: карбонаты железа, свинца и соды; нитраты серебра и порох....Они создали чудеснейший язык в мире — санскрит — породивший большую часть идиом Востока и ИндоЕвропейских стран. ну и т.д

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

И что? Благодаря своим культурам и религиям не смогли воспользоваться своими достижениями. И многое из этого списка большое преувеличение и зачато совсем даже не индусами.

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

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

Хотелось бы знать, откуда эта информация

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

С разморозкой, «индус» в IT не имеет никакого отношения к национальности «индус».

PayableOnDeath
()

Проблемы c JDBC и блобами

У меня тут апликушка бегала под 8.4, а после апгрейда на 9ку перестала роаботать с блобами. Оказалось, надо читать документацию. Они в 9ке поменяли формат чтения блобов и JDBC драйвер 8.4 их некорректно читает. Всем пользующим жабу рекомендую апгрейднуться на JDBC 9.x

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

> У меня 23 строчки FROM :-)

Да, from — самое важное, ведь именно там делаются соединения с подзапросами ;)

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

Да, from — самое важное, ведь именно там делаются соединения с подзапросами ;)

Именно, именно from и есть самое важное :-) Возьмем два несложных запроса, первый:

-- Запрос 1
select
    da.acc_number, du.bunit_mnemo,
    d1.anl_number, d2.anl_number, d3.anl_number, d4.anl_number, d5.anl_number,
    ca.acc_number, cu.bunit_mnemo,
    c1.anl_number, c2.anl_number, c3.anl_number, c4.anl_number, c5.anl_number,
    sum(sp.acnt_sum) as turns
from
    oprspecs sp,
    dicaccs da, dicaccs ca,
    dicanls c1, dicanls d1,
    dicanls c2, dicanls d2,
    dicanls c3, dicanls d3,
    dicanls c4, dicanls d4,
    dicanls c5, dicanls d5,
    dicbunts du, dicbunts cu
where
    sp.balunit_debit = du.rn and sp.balunit_credit = cu.rn and
    sp.account_debit = da.rn and sp.account_credit = ca.rn and
    sp.analytic_debit1 = d1.rn(+) and sp.analytic_credit1 = c1.rn(+) and
    sp.analytic_debit2 = d2.rn(+) and sp.analytic_credit2 = c2.rn(+) and
    sp.analytic_debit3 = d3.rn(+) and sp.analytic_credit3 = c3.rn(+) and
    sp.analytic_debit4 = d4.rn(+) and sp.analytic_credit4 = c4.rn(+) and
    sp.analytic_debit5 = d5.rn(+) and sp.analytic_credit5 = c5.rn(+) and
    sp.operation_date >= '01-jan-2010' and sp.operation_date <= '31-aug-2010'
group by
    da.acc_number, du.bunit_mnemo,
    d1.anl_number, d2.anl_number, d3.anl_number, d4.anl_number, d5.anl_number,
    ca.acc_number, cu.bunit_mnemo,
    c1.anl_number, c2.anl_number, c3.anl_number, c4.anl_number, c5.anl_number
и второй:
-- Запрос-2
select
    da.acc_number, du.bunit_mnemo,
    d1.anl_number, d2.anl_number, d3.anl_number, d4.anl_number, d5.anl_number,
    ca.acc_number, cu.bunit_mnemo,
    c1.anl_number, c2.anl_number, c3.anl_number, c4.anl_number, c5.anl_number,
    sp.acnt_sum as turns
from
    (
    select
        sp.balunit_debit, sp.balunit_credit,
        sp.account_debit, sp.account_credit,
        sp.analytic_debit1, sp.analytic_credit1,
        sp.analytic_debit2, sp.analytic_credit2,
        sp.analytic_debit3, sp.analytic_credit3,
        sp.analytic_debit4, sp.analytic_credit4,
        sp.analytic_debit5, sp.analytic_credit5,
        sum(sp.acnt_sum) as acnt_sum
    from
        oprspecs sp
    where
        sp.operation_date >= '01-jan-2010' and sp.operation_date <= '31-aug-2010'
    group by
        sp.balunit_debit, sp.balunit_credit,
        sp.account_debit, sp.account_credit,
        sp.analytic_debit1, sp.analytic_credit1,
        sp.analytic_debit2, sp.analytic_credit2,
        sp.analytic_debit3, sp.analytic_credit3,
        sp.analytic_debit4, sp.analytic_credit4,
        sp.analytic_debit5, sp.analytic_credit5
    ) sp,
    dicaccs da, dicaccs ca,
    dicanls c1, dicanls d1,
    dicanls c2, dicanls d2,
    dicanls c3, dicanls d3,
    dicanls c4, dicanls d4,
    dicanls c5, dicanls d5,
    dicbunts du, dicbunts cu
where
    sp.balunit_debit = du.rn and
    sp.balunit_credit = cu.rn and
    sp.account_debit = da.rn and sp.account_credit = ca.rn and
    sp.analytic_debit1 = d1.rn(+) and sp.analytic_credit1 = c1.rn(+) and
    sp.analytic_debit2 = d2.rn(+) and sp.analytic_credit2 = c2.rn(+) and
    sp.analytic_debit3 = d3.rn(+) and sp.analytic_credit3 = c3.rn(+) and
    sp.analytic_debit4 = d4.rn(+) and sp.analytic_credit4 = c4.rn(+) and
    sp.analytic_debit5 = d5.rn(+) and sp.analytic_credit5 = c5.rn(+)
Оба запроса возвращают одинаковые данные, но вот реальное время выполнения различается более чем в 10 раз в пользу второго запроса - запрос со сложным FROM выполнился за 46 секунд, а вот выполнения первого запроса я не дождался. Так что FROM это действительно самое важное :-)

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

В pg очень хотелось бы:

1. Оракловой версионности (т.е. redo log, против mvcc в pg) Главный минус mvcc - это фрагментация и... честная верионность. При больших изменениях бд - никаких дисков не напасешься да и vacuum не бесплатен. redo log все же более конролируемая вещь (к тому же может жить на другом носителе, в отличие от heap-а pg).

2. Партиционирования (нормального, а не то что pg, т.е. с индексами и unique key)

3. Оптимизатора (в pg он конечно умный, но в оракле сильно умнее)

А вот в pg мне очень нравиться: 1. Полная транзакционность (включая ddl)

2. Легковесность

3... ну и вообще нравиться он мне :)

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

э...милейший, как бы это всё были не те индусы что сейчас, а АРИИ. Повторю, а-ри-и. То бишь наши, русских, ближайшие родственники.
Более того, сличение содержания Вед, Велесовой книги и ряда других источников (например, исландских саг), показывает несомненное их происхождение из одного источника. В Ведах можно также найти про непримиримую борьбу белых и метисов Индостана с веддами (местными чёрными обезьянами). Причины борьбы - описаны там же.

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

это все понятно а потом после 18 века хотя возможно и раньше можно охарактеризовать одной фразой и ФСЁЁЁ...

теперь это просто дешевая рабочая сила. Хотя если вспомнить Боливуд то постояный поставщик всякой безвкусной гамаши на один лад...

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

это не то. тут логика в том, что новые данные пишутся на место старых, а старые уносятся в redo log. в pg данные пишутся в общем случае в конец таблицы. а старые потом надо чистить.

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

> сличение содержания Вед, Велесовой книги и ряда других источников (например, исландских саг), показывает несомненное их происхождение из одного источника.

Велесова книга - грубая подделка (с) Зализняк

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

>>В Ведах можно также найти про непримиримую борьбу белых и метисов Индостана с веддами (местными чёрными обезьянами).

А зачем с обезьянами бороться? И если ведды - обезьяны, то почему книги ведические?

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

Правильно. т.к. вы исользуете cross join (фактически поизведение колонок на количество столбцов и на количество таблиц). Если таблицы большие то уменьшение хотя бы одной (например подзапросом) из них может привести к весьма существенному уменьшению времени обработки.

PS: возможно Кэп это я.

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

это не то. тут логика в том, что новые данные пишутся на место старых, а старые уносятся в redo log. в pg данные пишутся в общем случае в конец таблицы. а старые потом надо чистить.

Старые блоки в оракле пишутся в сегменты отката (undo segments) в табличное пр-во типа undo. Redo log это обычный аналог WAL и он используется только для операций типа добавления данных (т.е. в штатном режиме чтения данных из логов наката не осуществляется).

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

угу )) а как известно Петр I отменил старый календарь в России, насчитывающий на тот момент более 7000 лет и что ? это не тред по истории...

Сабж, радует день ото дня... молодцы...

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

Велесова книга - грубая подделка (с) Зализняк

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

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

ведды - обезьяны, то почему книги ведические?

ну как бы это их самоназвание, именно так,с двойным дд:
http://ru.wikipedia.org/wiki/Ведды
а книги - Веды - не путайте! от слова «ведать»
кстати, про санскрит, уже доказано нормальными языковедами (не Зализняками), что он призошёл от пракрита, некоторые тексты которого доступны и тепреь. Так вот, пракрит любой русский читает ещё легче чем санксрит.

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

чего-то не понял. вовсе не факт что они запишутся на место старых в оракле. в чём особая проблема писать в конце таблицы в пг - не понял.
речь же шла про WAL - самое простое - примонтировать или сделать symlink на другой диск именно для WAL. У меня в своё время давала существенный выигрыш в производительности (7.x,8.0).

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

Велесова книга - грубая подделка (с) Зализняк

а кто это?

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

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

Человек...разбирается значительно получше тебя

ну да, где уж нам сирым шутки про ГЕОНЕГОНЕ отпускать.
такие корки только академики могут отмачивать
ничего, ещё при нашей жизни много что переменится.

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

Сирость и убогость всегда думает, что она что-то значит.

Выход только один - слушать умных людей, а иначе сгниёшь.

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

ГЕОНЕГОНЕ

Выход только один - слушать умных людей

ROTFL. ГЕОНЕГОНЕ. ага. цитата в строчку:
Но наиболее просвещенные умы XVIII века, «эпохи разума», не были так наивны, чтобы верить во всякий суеверный вздор. И действительно, Французская академия приняла резолюцию, разъясняющую вполне земную природу метеоритов. Если же вам показалось, что какие-то из них упали с неба, это потому, что они являются результатом удара молнии - совершенно понятная ошибка. А посему хранители музеев Европы выбросили никчемные камни, терпеливо собранные их невежественными предшественниками.

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

критерий ума у всех разный... не надо так категорично Евгений... если уж так хорошо знакомы с Индией, то и на просторах родины поройтесь в бабушкиных сундуках... с удивлением найдете много схожего со свастикой в вышивке на старых рубашках... а ещё пошукайте про исследования Ломоносова в отношении русской истории, надеюсь его Вы не считаете сильно некомпетентным )) Удачи Вам.

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

вот память уже не та :). микки, ты прав. я имел ввиду именно undo которые приводит временами к snapshot too old ;).

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

>как бы это всё были не те индусы что сейчас, а АРИИ. Повторю, а-ри-и. То бишь наши, русских, ближайшие родственники.

Та тьфу на вас! Вот меньше чем 70 лет назад доктор Геббельс всем доказывал что АРИИ (а-ри-и) ближайшие родственники немцев, нордической понимаешь ли рассы ... а русские - свиньи.

И что он - что ты оба быдло с комплексами :)

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

>Так вот, пракрит любой русский читает ещё легче чем санксрит.

Любой русский читает брахми? И много этих русских осталось? :)

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

Пархатые фашики на моём LORе :( Нет пути.

P.S. А Ломоносов в отношении истории был таки дилетантом даже для своего времени. Не говоря уж о том, что с точки зрения современности, все его знания и умения были весьма поверхностны и наивны. Разве что его достижения в стихосложении заслуживают изучения.

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

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

А еще они построили самый первый в мире универ, куда европеоиды (в том числе «продвинутые» греки) ездили учиться. Построен он был в 7 веке до нашей эры. http://www.india.ru/impres/stories/peoples/110593.shtml

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

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

> э...милейший, как бы это всё были не те индусы что сейчас, а АРИИ. Повторю, а-ри-и. То бишь наши, русских, ближайшие родственники.

По этой логике они еще и ближайшие родственники немцев, поляков, итальянцев и вообще всех.

Короче.. Ты че, наркоман? Или тупорылый безграмотный фаш?

Арии это народы Ирана и Индии.

http://ru.wikipedia.org/wiki/%D0%90%D1%80%D0%B8%D0%B8

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