Released PostgreSQL 10


In fact, it's been two days, but the article on Habr no one still not written, so I'll have to remedy that omission, and do it with pleasure.


so, what's new in this version of PostgreSQL?


firstly, changed the versioning itself. To "tens" we have seen many minor versions 9.x, which came out about once a year and it has made a major, not minor changes. So with version 10, it was decided to number 10, 11, 12, etc. by the Way, MySQL seems to have gone down the same path, jumped from 5.7 to 8.0


Okay, it's the little things, we turn to the merits


the

Logical replication


This is what everyone was waiting for a long time. Replacement different extensions a La slony (replication triggers) and other crutches.


Now you can do out of the box replication of individual tables to other databases.


Replication is done using the commands CREATE PUBLICATION and CREATE SUBSCRIPTION. Everything is quite simple.


it is Clear that the feature is fairly new, so at this point in the logical replication is missing some features.


the
    the
  • no replication schema/DDL
  • the
  • no replication sequences
  • the
  • does not replicate the TRUNCATE command

nevertheless, it is still a huge step forward, in some cases, you can throw slony!


the

States for dividing


If the partition could punch through inheritance tables, in the top ten have appeared for this built-in, which is called DRI partitioning.


To do this, the main table is added to PARTITON BY RANGE (or LIST) which tells that this table partitiion (or how you say it in Russian?).


specific partitions by using the expression PARTITION OF ... FOR VALUES FROM (...) TO (...) is set to the range of their data.


the partitions there are a number of limitations that should be borne in mind before using in production: Limitations of partitioning in PostgreSQL DRI 10


the

Identity columns


in short, the opportunity came to write


the
id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY

instead of


the
id serial PRIMARY KEY 

What gives?
The fact that the word serial is roughly an alias to the design DEFAULT nextval('sequence name'). Ie in fact table separately, sequence separately. This is useful, and sometimes not. For example, this leads to the fact that if you give the right to insert into a table (INSERT GRANT), you have separately to give grants on the sequence.


by the Way, the new record complies with the SQL standard.


the

Stuff


the
    the
  • Improved parallelism, particularly Parallel Bitmap Heap Scan Parallel Index Scan Parallel Merge Join, etc. you can read more information in blog Robert Haas
  • the
  • Improved performance of physical replication
  • the
  • Hash indexes replicated steel
  • the
  • full-text search Support for jsonb columns
  • the
  • SCRAM authentication
  • the
  • improved support for xml
  • the
  • enhanced the query planner when using a join: if the scheduler will know that the joint line can not produce in joine more than one line, you don't have to waste time searching other strings. Examples of queries you can see in the tests this komita

Full list of changes can be viewed here.


If someone has time to try the v10 in battle, share pliz impressions in the comments.


UPDATE. It is believed that the system versions are very. We had to call PostgreSQL X to be a trend :)

Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

A Bunch Of MODx Revolution + LiveStreet

Monitoring PostgreSQL with Zabbix

PostgreSQL load testing using JMeter, Yandex.Tank and Overload