4
Что в новой версии?
[специально для сисадминов и DBA]
Николай Самохвалов
nikolay@postgresmen.ru
2008 2008
На самом деле...
(1 row)
Пробуем!
http://www.postgresql.org/docs/current/static/anoncvs.html
./configure; make; make install
git://git.postgresql.org/git/postgresql.git
Новое в Postgres 8.4
Производительность
Администрирование
Проекты-спутники
Погодите-ка... Спойлеры!
Буу... В 8.4 не будет:
сервер «горячего» резерва
(hot standby)
апгрейд без dump/restore
nikolay@nikolay:/test/pg84dev/data/base/1$ ls -l 2618*
-rw------- 1 nikolay nikolay 73728 2009-04-13 18:42 2618
-rw------- 1 nikolay nikolay 24576 2009-04-13 18:42 2618_fsm
-rw------- 1 nikolay nikolay 8192 2009-04-13 18:42 2618_vm
Частичный VACUUM:
VACUUM пропускает страницы, имеющие бит 1 в VM;
индексы по-прежнему требуют полного обхода
новый pg_restore
2 потока: 1m 14.054s
3 потока: 1m 9.972s
Производительность: ещё и ещё!
многоколоночные GIN-индексы
Oleg Bartunov &
btree_gin Teodor Sigaev
«префиксный» поиск с GIN
улучшены расчёты статистики для optimizer-а
улучшена статистика для полнотекстовых столбцов
новый метод: полусоединение executor-а (semi-join)
новый метод: антисоединение executor-а (anti-join)
улучшена производительность text_position()
улучшения bitmap scans
оптимизация расхода памяти при исполнении триггеров
hash-методы для DISTINCT / UNION / INTERSECT /
EXCEPTION
2. Администрирование
Ещё раз о FreeSpaceMap (FSM)
Heikki Linnakangas
В postgresql.conf:
#track_functions = none # none, pl, all
В postgresql.conf:
shared_preload_libraries = 'pg_stat_statements' # (change requires restart)
custom_variable_classes = 'depesz,pg_stat_statements' # list of custom variable class names
pg_stat_statements.max = 100
pg_stat_statements.track = top
pg_stat_statements.save = on
Что получаем:
# select * from pg_stat_statements;
userid | dbid | query | calls | total_time | rows
--------+-------+-----------------------------------+-------+------------+------
10 | 16389 | select * from pg_stat_statements; | 1 | 0.000131 | 0
(1 row)
2 варианта использования:
в сессии: LOAD 'auto_explain';
postgresql.conf: shared_preload_libraries = ‘auto_explain’
постоянное развитие
последнее обновление 27 марта 2009, SkyTools 2.1.9
широкое распространение PgQ (асинхронная модель!)
londiste вытесняет Slony
pl/proxy для крупных проектов
pgBouncer почти ВЕЗДЕ (как nginx)
Каталог на PostgreSQL.org:
http://www.postgresql.org/download/product-categories
Наш каталог:
http://wiki.PostgreSQLRussia.ORG/index.php/Проекты-спутники_PostgreSQL
обзоры новинок
Hubert: http://www.depesz.com
перевод на русский: http://gray-hemp.blogspot.com
Спасибо!