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 :)
Комментарии
Отправить комментарий