PostgreSQL

индекс
124,74

Вышел PostgreSQL 8.4

Сегодня вышел PostgreSQL 8.4

Основные изменения:
* Windowing Functions
* Common Table Expressions and Recursive Queries
* Default and variadic parameters for functions
* Parallel Restore
* Column Permissions
* Per-database locale settings
* Improved hash indexes
* Improved join performance for EXISTS and NOT EXISTS queries
* Easier-to-use Warm Standby
* Automatic sizing of the Free Space Map
* Visibility Map (greatly reduces vacuum overhead for slowly-changing tables)
* Version-aware psql (backslash commands work against older servers)
* Support SSL certificates for user authentication
* Per-function runtime statistics
* Easy editing of functions in psql
* New contrib modules: pg_stat_statements, auto_explain, citext, btree_gin

8.4 Release Notes, PostgreSQL 8.4 Feature List

UPD: русскоязычный обзор на opennet.ru
+26
1 июля 2009, 19:06
1

комментарии (22)

+2
MipH #
Более понятно на русском языке: www.opennet.ru/opennews/art.shtml?num=22414
0
kuralesov #
Собственно, об этом должен был позаботиться автор топика…
+1
rushman #
автор топика придерживается мысли что лучше читать на языке оригинала
+1
kuralesov #
не скрою что в этом плане я с вами солидарен, но всё же мы находимся в сегменте сети, где преобладает русскоязычное население, и зачастую крайне плохо понимающее язык, отличный от родного…
0
rushman #
ок, добавил ссылку в пост
0
rushman #
но документация то всё равно на английском…
0
kuralesov #
спасибо =)

>но документация то всё равно на английском…

официальная документация… есть большое количество альтернативных источников на русском языке
НЛО прилетело и опубликовало эту надпись здесь
0
rushman #
так а Slony чем не устраивает? он же вроде реплицирует DDL?
НЛО прилетело и опубликовало эту надпись здесь
0
rushman #
НЛО прилетело и опубликовало эту надпись здесь
0
simonoff #
Чето я не вижу самой интересно фишки… Индексы в процедурах… Они сейчас не работают…
0
galaxy #
Что, простите?
0
simonoff #
в процедурах при запросах не работают индексы…
0
galaxy #
Да ну.
Примерчик можно?
0
Timosha #
например когда partial index (например create index… where attr_id = 1)
а в процедуре запрос типа

create procedure… (integer i_attr)

select * from table where attr_id = i_attr;


индекс не будет использоваться даже когда в функцию передаётся 1
0
galaxy #
Эко вы раскопали топик…

Ну да, есть такая проблема, специфичная скорее для языка plpgsql. Связано с тем, что SQL запросы, встраиваемые нативно в plpgsql код, будут параметрическими, если содержат ссылки на локальные переменные. В этом случае действительно использование индексов в некоторых случаях невозможно (например select… where column like $1 || '%'), в других случаях план будет неоптимальным, т.к. планнер заранее не знает значений параметров. Тут выручает execute, но как расплата — постоянное перепланирование запроса.
0
Timosha #
да что-то мимо проходил, не мог оставить вопрос открытым :)

сам обходил эту проблему так:
if( i_attr = 1) then
select * from table where attr_id = 1;
else
select * from table where attr_id = i_attr;
end if;
0
AntonShcherbinin #
rushman, спасибо за новость. Хотел уточнить, что, насколько мне известно, общепринятый термин для оконных функций — window functions, а не windowing functions.
Меня лично список новых фич впечатляет. Удивляюсь реакциям в комментариях: «жаль, что нет того, жаль, что нет этого...»
Разработчики молодцы, респект им за то, что реализовали так много.
0
rushman #
по поводу термина — да, ты прав совершенно. но список основных изменений для заметки я брал отсюда www.postgresql.org/docs/8.4/static/release-8-4.html, и оставил всё как там было, только линки проставил.

по поводу изменений — меня тоже радуют. посмотрел бенчмарки, он ещё лучше масштабируется на большом количестве CPU. попробую наверное в продакшене один сервер перевести, посмотреть как оно.
0
beq #
Обновился, субьективно нехилое java-приложение в связке с новой СУБД стало работать гораздо шустрее.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.