- PVSM.RU - https://www.pvsm.ru -

Мы продолжаем знакомить вас с самыми интересными новостями по PostgreSQL.
Главное событие месяца — это, конечно, Feature Freeze. Мартовский коммитфест [1] закрыт. Основной облик версии PostgreSQL 12 определился. Дальше будут доработки и исправления, но не изменения в функциональности. О наиболее важных фичах 12 версии в ближайшее время мы сделаем отдельную публикацию.
Под загадочным кодом CVE-2019-9193 скрывается политически важная для сообщества причина беспокойства [2]. Речь о конструкции COPY… PROGRAM, появившейся еще в 9.3, которая дает возможность исполнять в запросе файлы ОС и писать в стандартный ввод или читать из стандартного вывода программы.
When a vulnerability is not a vulnerability
Однако, классик PostgreSQL Магнус Хагандер (Magnus Hagander) разъясняет [3] в своем блоге:
Эта «уязвимость» эквивалентна тому факту, что в типичной Unix-системе вы можете залогиниться рутом и создавать или редактировать файлы, и исполнять команды как root. <...> Будучи суперюзером, можно запускать файлы в ОС отнюдь не только при помощи COPY… PROGRAM." <...> Итак, уязвимости в PostgreSQL нет, зато однозначно есть уязвимые инсталляции PostgreSQL.
pgAdmin4 V4.5
В этой версии совсем мало изменений. Среди них поддержка адаптера для Python psycopg2 v2.8 (о нем ниже) и поддержка ESLinter [4]. Загрузить можно с этой страницы [5].
До этого в версии pgAdmin4 4.4 (вышедшей после предыдущего обзора) было исправлено 35 багов. Среди нового в 4.4:
Подробности на странице PgAdmin [6].
До этого в версии 4.3 были добавлены в том числе кнопки Commit и Rollback в Query Tool; появилась возможность запускать в контейнерах несколько версий утилит PostgreSQL. О других 5 новых возможностях той версии можно узнать на странице [7] PgAdmin.
repods
Появилась [8] облачная платформа repods на базе PostgreSQL. Основное назначение — аналитика. Интересная визуализация схем БД и прочего.
pg_activity 1.5.0
В этой версии средства мониторинга появилось новое:
Скачать можно и с github [9], и с pyri [10].
Barman 2.7
Исправлены [11] ошибки параллельного копирования. Раньше неустранимая ошибка при параллельном бэкапе приводила к тому, что процесс надо было убивать вручную и затем очищать сервер от последствий неудачного бэкапа.
При работе в режиме гео-избыточности раньше падал cron при обрыве сети в процессе синхронизации. Соответственно следующие задания не выполнялись. Также исправлен баг в работе ввода-вывода в UTF-8. Подробности [12] и файлы для скачивания [13] на сайте sourceforge.
Pgpool-II
Вышла версия 4.0.4, а с нею и 3.7.9, 3.6.16, 3.5.20 и 3.4.23. Из новшеств: можно задать клиентский список шифров — ssl_ciphers. Таким образом в Pgpool-II поддержана соответствующая возможность PostgreSQL. Про релиз здесь [14], а RPMы можно скачать отсюда [15]. В разделе «статьи» мы упоминаем две публикации ветерана PostgreSQL Тацуо Ишии (Tatsuo Ishii) о новшествах будущего релиза — Pgpool-II 4.1.
padnag 1.2.4
В новой версии [16] этого инструмента синхронизации ролей PostgreSQL с пользователями и группами Active Directory появилось в том числе:
Подробности есть здесь [17].
temboard 3.0
В средстве удаленного мониторинга [18] PostgreSQL от Dalibo Labs появился плагин Maintenance [19], который следит за базами данных, схемами, таблицами и индексами. Помогает обнаружить распухание базы и эффективно управлять VACUUM, ANALYZE или REINDEX.
psycopg 2.8
Эта версия PostgreSQL-адаптера для Python (полностью реализующего интерфейс Python DB API 2.0) — примечательное событие: предыдущая версия вышла аж 2 года назад. В этой версии [20] в числе прочего появился
pg2arrow
Утилита [21], которая отсылает запрос PostgreSQL и упаковывает результат в формат Apache Arrow.
pgMustard
Интерфейс для «explain analyse», способный еще и давать рекомендации по ускорению запросов. pgMustard — коммерческий софт, испытательный срок 7 дней. Отзывы приветствуются — говорят разработчики. Версия 1.0 [22] работает с PostgreSQL 9.6 и более поздними.
pg_snakeoil 1.0
Антивирусное расширение [23] PostgreSQL. Для сканирования оно использует ClamAV [24], который не тормозит работу PostgreSQL.
vipsql
Плагин [25] к vim для работы в psql.
migra
Этот инструмент [26] работает со схемами PostgreSQL в духе diff.
dbdot
Утилита [27] командной строки, которая генерит DOT-описание на основе схемы БД. Распространяется в бинарных пакетах под различные платформы.
Zedstore — compressed in-core columnar storage
Это довольно сырой патч, но на него стоит обратить внимание. Буквально за пару недель было сделано колоночное хранилище. В будущем в PostgreSQL будут подключаемые хранилища разного типа (pluggable storages), для чего сейчас сделан и прошел коммитфест патч tableam (table access method) — важная часть API для подключения хранилищ. Одно из новых хранилищ уже достаточно хорошо известно: Zheap [28] с UNDO вместо WAL, оно в работе. Теперь — колоночное (а есть еще расширение VOPS [29] для векторизованных вычислений).
Benchmarking connection poolers
Пуллеры для Постгреса. Сравнительное тестирование производительности [30] различных пуллеров для Постгреса: начиная с популярного pgbouncer-а и до новичка — Odyssey и новой разработки — встроенных пуллеров от Postgres Professional. Тестировал Константин Книжник.
Imperative to Declarative to Imperative
Брюс Момджан по-прежнему с удовольствием высказывается на философские темы СУБД-строения: на этот раз в поле его зрения попала цепочка «генерация декларативного кода императивным кодом, который [в конечном счете] опять будет исполнен как императивный код» (imperative language that generates declarative output that can be converted into an imperative program and executed).
Брюс обнародовал здесь [31] свои соображения, имея в виду обсуждение соответствующего треда, в котором высказались Питер Гёйган (Peter Geoghegan) и Крис Траверс (Chris Travers).
Uniting SQL and NoSQL for Monitoring: Why PostgreSQL is the ultimate data store for Prometheus
Подзаголовок этой статьи (тоже не слишком короткий) поясняет: [32] «Как использовать Prometheus, PostgreSQL + TimescaleDB и Grafana для хранения, анализа и визуализации метрик».
What’s new in PostgreSQL 11
Маркус Винанд (Markus Winand), автор книжки PostgreSQL Performance Explained, пишет [33] не о будущем (PostgreSQL 12), а о настоящем: «о главной теме PostgreSQL 11 — оконных функциях». До 2018 PostgreSQL в одиночестве сражался с ними (если говорить об опен-сорс СУБД), но с тех пор некоторые из них догнали и перегнали. И вот в 11 снова рывок вперед. Разъяснено на примерах, со схемами и матрицами функциональности.
Why SQL is beating NoSQL, and what this means for the future of data
На сайте TimescaleDB большая статья [34] об истории битв SQL и NoSQL за господство над данными — начиная с 70-х и примеров из реляционной алгебры.
Be careful with CTE in PostgreSQL
Статья Хаки Бенита (Haki Benita), независимого разработчика, об опасностях CTE [35]. Сравнивает с Oracle, говорит о материализации, подзапросах как альтернативе, CTE inlining, о хинтах и прочем. Статья опубликована еще осенью, и кое-какие изменения с тех пор произошли, но многие проблемы по-прежнему актуальны.
JOIN LATERAL
Элейн Мастейн (Elein Mustein), до этого популярный автор GeneralBits, напоминает [36] в блоге 2ndQuadrant о возможностях JOIN LATERAL. А также об ограничениях, о мониторинге соответствующих запросов и о том, где имеет смысле использовать JOIN LATERAL, а где — нет.
Postgres-XL and global MVCC
Коичи Сузуки (Suzuki Koichi), работавший в NTT и перешедший в 2ndQuadrant, задаёт интересные вопросы [37] по поводу распределенных транзакций и собирается их в будущих статьях обсуждать.
Waiting for PostgreSQL 12 – REINDEX CONCURRENTLY
Depecz, то есть Хуберт Любашевски, рассказывает и приводит примеры [38] использования этого важного новшества.
GeoJSON Features from PostGIS
Пол Рэмси (Paul Ramsey) рассказывает [39], как из уже существующих в PostgreSQL средств и собственного коротенького скрипта конвертировать таблицы в GeoJSON.
Metrics to Monitor in Your PostgreSQL Database
Эта статья [40] продолжает тему другой статьи [41] — «Руководство: как мониторить PostgreSQL, используя Telegraf и InfluxDB».
PostgreSQL for a SQL Server DBA: The Tooling Stinks
В этой не слишком лояльной Постгресу статье [42] — «Инструменты для админа PostgreSQL тухловаты» — наблюдения человека с бэкграундом MS SQL, так что его опыт и импровизированный сравнительный анализ могут оказаться интересными для некоторых читателей-постгресистов. Автор считает главным препятствием для перехода MS SQL -> PostgreSQL относительную бедность (у меня это мягче сказано) инструментария, а не недостатки самой СУБД. Соответственно речь идет о PgAdmin, но также и о DataGrip и Novicat.
Shared Relation Cache и Statement Level Load Balancing
В своем блоге [43] Playing with PostgreSQL and Pgpool Тацуо Ишии (Tatsuo Ishii) пишет [44] о разделяемом процессами Pgpool-II кэше системного каталога, который появится в версии 4.1.
В продолжении [45] — речь о балансировке нагрузки, которая в Pgpool-II 4.1 возможна на уровне сессии. Поведение определяется новым параметром: statement_level_load_balance в pgpool.conf.
Saint HighLoad++ 2019 (Санкт-Петербург)
На прошедшей конференции [46] много говорили о будущем. Вот слайды доклада [47], где Олег Бартунов суммирует новшества грядущей версии. Конференция прошла 8-9 апреля.
German-speaking PostgreSQL Conference 2019
Для желающих поупражняться в немецком и посетить Лейпциг: эта конференция [48] состоится 10 мая.
PGDay Warsaw
Эта конференция [49] проходит в контексте OpenSource Day 14-го мая.
PGDay.IT 2019
Итальянский PG-день пройдёт [50] в Болонье 16-17 мая.
PGCon 2019 Ottawa
Канадская конференция [51] состоится 28-31 мая.
Swiss PGDay 2019
На эту конференцию, которая состоится [52] 28 июня в Раппертсвиле, около Цюриха, еще можно (до 18 апреля) присылать заявки на доклады и регистрироваться.
PostgresLondon 2019
Эта конференция пройдет [53] 1-3 июля (1-го необязательный день для мастер-классов).
PGConf.Brazil 2019
Сан-Паулу ждет гостей [54] 1-3 августа.
Austrian pgDay
Новое мероприятие [55], оно состоится 6 сентября.
PostgresConf South Africa 2019
Пройдет [56] в Йоханнесбурге 8-9 октября. Заявки принимаются до 30 июля.
А также есть конференции в корпоративном стиле:
Percona Live Open Source Database Conference 2019
Percona проводит [57] эту конференцию в Техасе (Остин, столица) 28-30 мая.
Postgres Vision 2019
Эта конференция проводится [58] EnterpriseDB в Бостоне 24-26 июня.
Идеи и пожелания присылайте на почту: news_channel@postgrespro.ru
Предыдущие выпуски: #14 [60], #13 [61], #12 [62], #11 (спец) [63], #10 [64], #9 [65], #8 [66], #7 [67], #6 [68], #5 [69], #4 [70], #3 [71], #2 [72], #1 [73]
Автор: Igor_Le
Источник [74]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/postgresql/314791
Ссылки в тексте:
[1] Мартовский коммитфест: https://commitfest.postgresql.org/22/
[2] причина беспокойства: https://www.postgresql.org/about/news/1935/
[3] разъясняет: https://blog.hagander.net/when-a-vulnerability-is-not-a-vulnerability-244/
[4] ESLinter: https://habr.com/ru/post/322550/
[5] страницы: https://www.pgadmin.org/download/
[6] PgAdmin: https://www.pgadmin.org/docs/pgadmin4/dev/release_notes_4_4.html
[7] странице: https://www.pgadmin.org/docs/pgadmin4/dev/release_notes_4_3.html
[8] Появилась: https://repods.io
[9] с github: https://github.com/julm%20--on/pg_activity/releases/tag/v1.5.0
[10] с pyri: https://pypi.org/project/pg_activity/
[11] Исправлены: https://www.2ndquadrant.com/en/resources/barman/
[12] Подробности: https://sourceforge.net/projects/pgbarman/files/2.7/
[13] скачивания: https://sourceforge.net/projects/pgbarman/files/
[14] здесь: http://www.pgpool.net/docs/latest/en/html/release.html
[15] отсюда: http://pgpool.net/mediawiki/index.php/Downloads
[16] новой версии: https://padnag.io/
[17] здесь: https://padnag.io/news/
[18] средстве удаленного мониторинга: https://github.com/dalibo/temboard/
[19] Maintenance: https://temboard.readthedocs.io/en/latest/temboard-howto-maintenance/
[20] этой версии: http://initd.org/psycopg/articles/2019/04/04/psycopg-28-released/
[21] Утилита: https://github.com/heterodb/pg2arrow
[22] Версия 1.0: https://www.pgmustard.com/changelog/
[23] Антивирусное расширение: https://github.com/credativ/pg_snakeoil/releases/tag/v1.0
[24] ClamAV: http://www.clamav.net/
[25] Плагин: https://github.com/martingms/vipsql
[26] Этот инструмент: https://github.com/djrobstep/migra
[27] Утилита: https://github.com/akarki15/dbdot
[28] Zheap: https://wiki.postgresql.org/wiki/Zheap
[29] VOPS: https://github.com/postgrespro/vops
[30] тестирование производительности: https://github.com/postgrespro/postgresql.builtin_pool/wiki/Benchmarking-connection-poolers?fbclid=IwAR105LGhylAim-ndmd_7E_yMg289bEE4M84cs5dXgGcueptM32KZljZJkek
[31] обнародовал здесь: https://momjian.us/main/blogs/pgblog/2019.html#February_15_2019
[32] поясняет: : https://medium.com/timescale/sql-nosql-data-storage-for-prometheus-devops-monitoring-postgresql-timescaledb-time-series-3cde27fd1e07
[33] пишет: https://modern-sql.com/blog/2019-02/postgresql-11
[34] большая статья: https://medium.com/timescale/why-sql-beating-nosql-what-this-means-for-future-of-data-time-series-database-348b777b847a
[35] об опасностях CTE: https://medium.com/@hakibenita/be-careful-with-cte-in-postgresql-fca5e24d2119
[36] напоминает: https://blog.2ndquadrant.com/join-lateral/
[37] задаёт интересные вопросы: https://blog.2ndquadrant.com/back-to-postgresql-and-postgres-xl/
[38] рассказывает и приводит примеры: https://www.depesz.com/2019/03/29/waiting-for-postgresql-12-reindex-concurrently/
[39] рассказывает: http://blog.cleverelephant.ca/2019/03/geojson.html
[40] статья: https://www.influxdata.com/blog/metrics-to-monitor-in-your-postgresql-database/?utm_campaign=postgres&utm_medium=newsletter&utm_source=cooperpress
[41] другой статьи: https://www.influxdata.com/blog/monitoring-your-postgresql-database-with-telegraf-and-influxdb/
[42] статье: https://www.softwareandbooz.com/postgresql-for-a-sql-server-dba-the-tooling-stinks/
[43] блоге: http://pgsqlpgpool.blogspot.com/
[44] пишет: http://pgsqlpgpool.blogspot.com/2019/03/shared-relation-cache.html
[45] продолжении: http://pgsqlpgpool.blogspot.com/2019/04/statement-level-load-balancing.html
[46] прошедшей конференции: https://www.highload.ru/spb/2019
[47] слайды доклада: http://www.sai.msu.su/~megera/postgres/talks/pg12-highload-spb-2019.pdf?fbclid=IwAR1-QEsmG7UaLf6zeUn7VHM5LvfwPXGc3CIvlO9_5o2CXVxW7RmcGMevpjY
[48] эта конференция: http://2019.pgconf.de/
[49] конференция: https://opensourceday.com/pgday
[50] пройдёт: https://2019.pgday.it/en/
[51] конференция: https://www.pgcon.org/2019
[52] состоится: http://www.pgday.ch/2019/
[53] пройдет: http://postgreslondon.org
[54] ждет гостей: http://pgconf.com.br
[55] мероприятие: https://pgday.at/en/
[56] Пройдет: https://postgresconf.org/conferences/SouthAfrica2019
[57] проводит: https://www.percona.com/live/19/
[58] проводится: https://postgresvision.com/
[59] postgresso: https://t.me/postgresso
[60] #14: https://habr.com/ru/company/postgrespro/blog/436352/
[61] #13: https://habr.com/ru/company/postgrespro/blog/434760/
[62] #12: https://habr.com/company/postgrespro/blog/428275/
[63] #11 (спец): https://habr.com/company/postgrespro/blog/426745/
[64] #10: https://habr.com/topic/edit/422527/
[65] #9: https://habr.com/company/postgrespro/blog/420283/
[66] #8: https://habr.com/company/postgrespro/blog/415675/
[67] #7: https://habr.com/company/postgrespro/blog/413419/
[68] #6: https://habr.com/company/postgrespro/blog/358560/
[69] #5: https://habr.com/company/postgrespro/blog/353736/
[70] #4: https://habrahabr.ru/company/postgrespro/blog/351650/
[71] #3: https://habrahabr.ru/company/postgrespro/blog/349100/
[72] #2: https://habrahabr.ru/company/postgrespro/blog/347858/
[73] #1: https://habrahabr.ru/company/postgrespro/blog/345652/
[74] Источник: https://habr.com/ru/post/445544/?utm_campaign=445544
Нажмите здесь для печати.