⬆️ ⬇️

Digest news from the world of PostgreSQL. Issue number 15





We continue to introduce you to the most interesting news on PostgreSQL.



news



The main event of the month is, of course, Feature Freeze . March kommitfest closed. The main appearance of the PostgreSQL 12 version was determined. Further there will be improvements and corrections, but not changes in functionality. About the most important features of version 12 in the near future we will make a separate publication.

')

Is Vulnerability Vulnerable?



Under the mysterious code CVE-2019-9193 there is a politically important concern for the community. It is about the COPY ... PROGRAM construction, which appeared in 9.3, which makes it possible to execute the OS files in the request and write to the standard input or read from the standard output of the program.



When a vulnerability is not a vulnerability



However, PostgreSQL classic Magnus Hagander (Magnus Hagander) explains in his blog post:

This “vulnerability” is equivalent to the fact that in a typical Unix system you can log in to root and create or edit files and execute commands as root. <...> As a superuser, you can run files in the OS not only with COPY ... PROGRAM. "<...> So, there are no vulnerabilities in PostgreSQL, but there are definitely vulnerable PostgreSQL installations .



Releases



pgAdmin4 V4.5



There are very few changes in this version. Among them, adapter support for Python psycopg2 v2.8 (see below) and support for ESLinter . You can download from this page .

Prior to this, in the pgAdmin4 4.4 version (released after the previous review), 35 bugs were fixed. Among the new in 4.4:





Details on the PgAdmin page.

Prior to this, version 4.3 added the Commit and Rollback buttons in the Query Tool; It has become possible to run multiple versions of PostgreSQL utilities in containers. The other 5 new features of this version can be found on the PgAdmin page .



repods



The PostgreSQL-based repods cloud platform has appeared. The main purpose is analytics. Interesting visualization of database schemas and other things.



pg_activity 1.5.0



In this version of the monitoring tool, a new one has appeared:





It is possible to download both with github , and with pyri .



Barman 2.7



Fixed parallel copying errors. Previously, a fatal error with a parallel backup led to the fact that the process had to be killed manually and then cleaned the server from the consequences of an unsuccessful backup.



When working in geo-redundancy mode, cron used to crash if the network was broken during synchronization. Accordingly, the following tasks were not performed. Also fixed a bug in the work of I / O in UTF-8. Details and files for download on sourceforge.



Pgpool-II



Version 4.0.4 has been released, and with it 3.7.9, 3.6.16, 3.5.20 and 3.4.23. From innovations: you can set the client cipher list - ssl_ciphers. Thus, the corresponding PostgreSQL capability is supported in Pgpool-II. About the release here , and RPMs can be downloaded from here . In the "articles" section, we mention two publications by PostgreSQL veteran Tatsuo Ishii (Tatsuo Ishii) about the innovations of the future release - Pgpool-II 4.1.



padnag 1.2.4



In the new version of this tool, the synchronization of PostgreSQL role roles with users and Active Directory groups has appeared, including:



Details are here .



temboard 3.0



In the remote monitoring tool PostgreSQL from Dalibo Labs, a Maintenance plugin has appeared that monitors databases, charts, tables and indexes. Helps detect base swelling and effectively manage VACUUM, ANALYZE or REINDEX.



psycopg 2.8



This version of the PostgreSQL adapter for Python (fully implementing the Python DB API 2.0 interface) is a remarkable event: the previous version was released 2 years ago. In this version , among other things, appeared





pg2arrow



A utility that sends a PostgreSQL request and packages the result in Apache Arrow format.



pgMustard



The interface for “explain analyze”, which is also capable of making recommendations for speeding up requests. pgMustard - commercial software, a trial period of 7 days. Feedback is welcome - say the developers. Version 1.0 works with PostgreSQL 9.6 and later.



pg_snakeoil 1.0



PostgreSQL anti-virus extension . For scanning, it uses ClamAV , which does not slow down PostgreSQL.



vipsql



Plugin for vim to work in psql.



migra



This tool works with PostgreSQL diff diff schemes.



dbdot



A command line utility that generates a DOT description based on the database schema. Distributed in binary packages for various platforms.



Zedstore - compressed in-core columnar storage



This is a pretty raw patch, but you should pay attention to it. In just a couple of weeks, column storage was done. In the future, PostgreSQL will have plugin storages of different types (pluggable storages), for which the commitfest patch tableam (table access method) is now made and passed - an important part of the API for connecting storages. One of the new repositories is already well known: Zheap with UNDO, it is in operation. Now - columnar (and there is still an extension VOPS for vectorized calculations).



Articles and blogs



Benchmarking connection poolers



Pullers for Postgres. Comparative testing of the performance of various pullers for Postgres: from the popular pgbouncer to the newcomer, Odyssey, and the new development of built-in pullers from Postgres Professional. He tested Konstantin Knizhnik.



Imperative to Declarative to Imperative



Bruce Momdzhan is still happy to speak on the philosophical topics of the DBMS structure: this time, the "generation of declarative code with an imperative code, which [ultimately] will again be executed as an imperative code” (imperative language that generates declarative output that can be converted into an imperative program and executed).



Bruce announced his views here , referring to the discussion of the relevant thread, which expressed Peter Goygan (Peter Geoghegan) and Chris Travers (Chris Travers).



Unlike SQL and NoSQL for Monitoring: Why PostgreSQL is the ultimate data store for Prometheus



The subtitle of this article (also not too short) explains: "How to use Prometheus, PostgreSQL + TimescaleDB and Grafana to store, analyze and visualize metrics."



What's new in PostgreSQL 11



Markus Winand (Markus Winand), author of the PostgreSQL Performance Explained book, does not write about the future (PostgreSQL 12), but about the present: “about the main theme of PostgreSQL 11 — window functions”. Until 2018, PostgreSQL fought alone with them (if we talk about the open-source DBMS), but since then some of them caught up and overtook. And at 11 again, a dash forward. Explained by examples, with schemas and matrixes of functionality.



Why SQL is beating NoSQL,



TimescaleDB has a large article about the history of SQL and NoSQL battles for domination over data - starting in the 70s and examples from relational algebra.



Be careful with CTE in PostgreSQL



Article by Haki Benita (Haki Benita), independent developer, on the dangers of CTE . Compares with Oracle, talks about materialization, subqueries as an alternative, CTE inlining, hints and so on. The article was published in the fall, and some changes have occurred since then, but many problems are still relevant.



JOIN LATERAL



Elaine Mustaine, previously a popular author of GeneralBits, reminds the 2ndQuadrant blog about the possibilities of JOIN LATERAL. And also about restrictions, about monitoring relevant queries and about where it makes sense to use JOIN LATERAL, and where it doesn't.



Postgres-XL and global MVCC



Koichi Suzuki (Suzuki Koichi), who worked at NTT and switched to 2ndQuadrant, asks interesting questions about distributed transactions and is going to discuss them in future articles.



Waiting for PostgreSQL 12 - REINDEX CONCURRENTLY



Depecz, that is, Hubert Lubaszewski, tells and gives examples of the use of this important innovation.



GeoJSON Features from PostGIS



Paul Ramsey (Paul Ramsey) tells how to convert tables into GeoJSON from the tools already existing in PostgreSQL and from our own short script.



Metrics to Monitor in Your PostgreSQL Database



This article continues the theme of another article - "Guide: how to monitor PostgreSQL using Telegraf and InfluxDB."



PostgreSQL for a SQL Server DBA: The Tooling Stinks



In this article, which is not too loyal to Postgres - “Tools for the PostgreSQL admin is foul” - observations of a person with MS SQL background, so his experience and improvised comparative analysis may be interesting for some post-squeezed readers. The author considers the main obstacle for the transition of MS SQL -> PostgreSQL relative poverty (in my case it is softer) of the toolkit, and not the shortcomings of the DBMS itself. Respectively it is about PgAdmin, but also about DataGrip and Novicat.



Shared Relation Cache and Statement Level Load Balancing



In his blog, Playing with PostgreSQL and Pgpool, Tatsuo Ishii writes about the cache of the system catalog, which will appear in version 4.1, shared by the Pgpool-II processes.



In continuation , we are talking about load balancing, which in Pgpool-II 4.1 is possible at the session level. The behavior is determined by the new parameter: statement_level_load_balance in pgpool.conf.



Conferences



Saint HighLoad ++ 2019 (St. Petersburg)



At the last conference they talked a lot about the future. Here are the report slides where Oleg Bartunov summarizes the innovations of the upcoming version. The conference was held April 8-9.



German-speaking PostgreSQL Conference 2019



For those who want to practice in German and visit Leipzig: this conference will take place on May 10th.



PGDay Warsaw



This conference takes place in the context of OpenSource Day on May 14th.



PGDay.IT 2019



An Italian PG-day will be held in Bologna on May 16-17.



PGCon 2019 Ottawa



The Canadian Conference will be held May 28-31.



Swiss PGDay 2019



At this conference, which will take place on June 28 in Rapperstsville, near Zurich, it is still possible (until April 18) to send applications for reports and to register.



PostgresLondon 2019



This conference will be held July 1-3 (1st optional day for master classes).



PGConf.Brazil 2019



Sao Paulo is waiting for guests 1-3 August.



Austrian pgDay



A new event , it will be held on September 6.



PostgresConf South Africa 2019



Will be held in Johannesburg on October 8-9. Applications are accepted until July 30.



And also there are conferences in corporate style:



Percona Live Open Source Database Conference 2019



Percona holds this conference in Texas (Austin, capital) on May 28-30.



Postgres Vision 2019



This conference is held by EnterpriseDB in Boston on June 24-26.



That's all. See you again!






Subscribe to the postgresso channel!



Send your ideas and wishes to email: news_channel@postgrespro.ru

Previous issues: # 14 , # 13 , # 12 , # 11 (special) , # 10 , # 9 , # 8 , # 7 , # 6 , # 5 , # 4 , # 3 , # 2 , # 1

Source: https://habr.com/ru/post/445544/



All Articles