á¡á¬ážáá¯á¶ážáá² áá±á¬ááºážáá±á¬áá±á¬ááŒá¬áá±á·ááŒá
áºáá«á
á±á áááºáááºážáááœáá·áºáá® á¡áá»áááºááá¯áááºážáááº
ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážá¡ááá·áºááœááº
PostgreSQL 10 ááœááºá á¡ááœá±áááºáá¶ááŸá¯áááºážáááºážáá±á¬ááºážááᯠá¡áá¯á¶ážááŒá¯á ááŒá±ááŸááºážááááá±á¬ ááŒá¿áá¬áá»á¬ážá áœá¬ááᯠááŒá±ááŸááºážááẠáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬ "ááŒá±ááŒá¬ááœá²áá±ááŒááºáž" á ááœá±ážááœá¬ážááŸá¯ááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºáá²á·ááááºá áááºážááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áá±áá¬ááᯠá¡áá»á¬ážááá¯ááºááœá²áá¯ááºááá¯ááºá á±ááá·áº ááá¯á¡á áœááºážáááºááá·áºáááááá¬áá áºáᯠááŒá áºáá¬áá²á·áááºá
áá°ážááŒá¬ážáá»áẠááŸáá¯ááºážááŸááºááŸá¯
PostgreSQL 11 ááẠá áœááºážáá±á¬ááºááẠááŒáŸáá·áºáááºáááºááŸáá·áº ááá¯ááºážááŒá¬ážáá¬ážáá±á¬ ááá¬ážáá»á¬ážááᯠá¡ááá®áá±ážááŸááºážáá»á¬ážáᶠááá¯ááá¯ááœáá·áºáááºážááŒááºáá¬á¡á±á¬áẠááŒá¯áá¯ááºáá±ážááá·áº á¡áááºááŒá®ážáá±á¬ááºáá±á¬ á¡ááºá¹áá«áááºá¡áá áºáá»á¬ážááᯠááááºáááºáá±ážáááºá
1. ááá·áºáááºááŒáœááºážáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá
2. áá
áºáá¯áááºážáá±á¬ node áá»á¬ážááá·áºáá«á
3. ááá¯ááºážááŒá¬ážáá¬ážáá±á¬ ááá¬ážáá
áºáá¯á¡ááœááºáᬠá¡ááá¯ááºážááœá²ááá¬ážáá±á¬áá
áºáá¯ááᯠáááºááœáŸááºážáááºá
4. á¡ááœáŸááºážáá»á¬ážááœáẠá¡áááºážááá·áºá áá±á¬á·áá±á¬áºáá¶áá»á¬ážá¡á¬ážáá¯á¶áž áá«áááºááá«áááºá
5. ááŸá
áºáááºáá¯á¶ážááŸá áá¯ááºáááá·áºáááºáá»ááºáá»á¬áž áá°áá®ááááºá
ááœááºááá¯ááºáá±áž
áá«ááá¯á·áááºáž áá®ááŸá¬ ááááºážáá±á¬ááºážááŸááááºá áááºážáááºážá¡áá
áºááᯠáááºááŒáá·áºáá¬ážáá«áááºá WHERE
. áááẠalgorithm ááẠá¡ááŒá±á¡áá±ááŸáá·áº ááá¯ááºáá®ááŸá¯ááŸááááŸá áá¯á¶ážááŒááºááẠááá¹ááá
áºáá¯á
á®ááᯠá
á
áºáá±ážáá²á·áááºá WHERE
. á¡ááá¯ááºážá¡áá±á¡ááœáẠááá¯ážáá¬áááºááŸáá·áºá¡áá»áŸ á¡á
á®á¡á
ááºáá±ážááœá²áá»ááẠááá¯ážáá¬áá²á·áááºá
9.6 ááœááºá á¡ááœá±áááºáá¶ááŒááºážááŸáá áºááá·áº á¡ááá¯ááºážááœá²ááŒááºážááŸáá·áºá¡áá°á tuple ááᯠááŸááºáááºáá±á¬ partition ááœááºááá·áºááœááºážáááºá¡ááœáẠtuple ááá¯ááŸááºáááºáá±á¬ partition ááœááºááá·áºááœááºážááẠIF statements áá»á¬ážáá«ááŸááá±á¬ trigger function ááá¯áá±ážááŒááºážááŒáá·áºáá¯á¶ááŸááºá¡á¬ážááŒáá·áº tuples ááᯠpartitions ááá¯á·áááºážááŒá±á¬ááºážáá±ážááŒááºážááá¯áá¯ááºáá±á¬ááºáááºá á€áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááẠáá¯ááºáá±á¬ááºááẠá¡ááœááºááŸá±ážááœá±ážááá¯ááºáá«áááºá áá¬ážááŸááºáž 10 ááœáẠdeclarative partitioning ááá¯ááá·áºááœááºážááŒááºážááŒáá·áºá áááºážáááºááá¯ááá¯ááŒááºáááºá áœá¬á¡áá¯ááºáá¯ááºáááºá
á¡ááá¯ááºáž 100 áá«áá±á¬ ááá¯ááºážááŒá¬ážáá¬ážáá±á¬ááá¬ážááᯠá¡áá¯á¶ážááŒá¯á 10 BIGINT áá±á¬áºáá¶ááŸáá·áº 1 INT áá±á¬áºáá¶áá»á¬ážáá«ááŸááá±á¬ ááá¬ážáá áºáá¯áá²ááá¯á· á¡áááºáž 5 áááºážááᯠáááºááŒááºážáá áœááºážáá±á¬ááºáááºááᯠá¡áá²ááŒááºááá¯ááºáá«áááºá
á¡ááœáŸááºážááááºážááŸááºáááºážáá
áºáá¯ááá¯ááŸá¬áááºááŸáá·áº ááŸááºáááºážáá
áºáá¯á¡á¬áž ááá¯ááºááœááºááẠDML ááá¯áá¯ááºáá±á¬ááºááẠá€ááá¬ážááá¯áá±ážááŒááºážááŒááºážáá
áœááºážáá±á¬ááºáááºááẠ(áááá¯áááºáᬠ1 áá¯áá¬á¡áá¯á¶ážááŒá¯áááº)á
PG 9.6 ááŸá
á áá¯ááºáá±á¬ááºáá»ááºáá
áºáá¯á
á®á á
áœááºážáá±á¬ááºáááºááẠáááááá¬áᬠááá¯ážáááºáá¬áááºááᯠá€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá¯ááºáá«áááºá áá±á¬ááºážááá¯áá»ááºáá»á¬áž SELECT
á¡áá°ážáááŒáá·áº á
á¯á¶á
ááºážáá±ážááŒááºážááŸá¯á
á®á
ááºáá±á
ááºá¡ááœááºáž á¡ááá¯ááºážááœá²áá»á¬ážá
áœá¬ááᯠáááºáá¯ááºááá¯ááºááá·áºá¡áá¬áá»á¬ážááᯠááá¯áááŒáá·áºáá±á¬ááºážá
á±áááºá ááá¯ááá¯áááºááŸá¬ á¡áá»áááºááá¬ážááœá²áá°ááẠááááºá áá¯ááºááá·áºááá·áº á¡áá¯ááºáá»á¬ážá
áœá¬ááᯠáá»á±á¬áºááœá¬ážááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááá¯á¡ááºáá±á¬á¡ááá¯ááºážáá»á¬ážá¡ááœáẠáááºážááŒá±á¬ááºážáá»á¬ážááᯠááááºáá±á¬ááºáá±á¬á·áá«á
áá±á¬ááºáá»ááº
ááá¬ážááœá²ááœá²ááŒá¬ážááŒááºážááẠPostgreSQL ááœáẠá¡ááœááºá¡á
áœááºážáááºáá±á¬ á¡ááºá¹áá«áááºáá
áºáᯠááŒá
áºáá¬áááºá áááºážááẠááá·áºá¡á¬áž áá±áá¬áá»á¬ážááᯠá¡áœááºááá¯ááºážááœáẠáá»ááºááŒááºá
áœá¬ááŒáááá¯ááºááŒá®áž ááŸá±ážááœá±ážááŒá®áž ááŒá®ážáá¬ážáá±á¬ DML áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠááŒá®ážááŒá±á¬ááºááẠáá
á±á¬áá·áºááá¯ááºážáá² á¡á±á¬á·ááºááá¯ááºážáá°ááá¯ááºá
á±áááºááŒá
áºáááºá. áááºážááẠáááºá
ááºáá±áá¬áá»á¬ážááᯠá¡áá°ááᜠááááºážáááºážááá¯ááºáááºáᯠááá¯ááá¯áááºá ááá¯ááá¯áááºááŸá¬ áááºááá¯á¡ááºáá±á¬áá±áá¬ááᯠááá¯ááá¯áááá±á¬ááºá
áœá¬ áááºáá±á¬ááºááá¯ááºáááºááŒá
áºáááºá á€áá¬ážááŸááºážááœáẠááŒá¯áá¯ááºáá¬ážáá±á¬ ááá¯ážáááºááŸá¯áá»á¬ážááẠá€á¡ááºá¹áá«áááºá¡á¬ážáá¯á¶ážááᯠááá±á¬ááááºážáá¯ááºáá±á¬ááºáá±á¬ developerá reviewers ááŸáá·áº committers áá»á¬ážááá«áá² áááŒá
áºááá¯ááºáá«á
áá°ááá¯á·á¡á¬ážáá¯á¶ážááᯠáá»á±ážáá°ážáááºáá«áááºá PostgreSQL 11 ááẠá¡á¶á·ááŒááœááºáá±á¬ááºážáááºá
á€áááºááŸá¬ á€áá»áŸááá¯áá±á¬ááºážáá±á¬áºáááºáž á
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážáá±á¬ áá±á¬ááºážáá«ážáá
áºáá¯ááºááŒá
áºáááºá ááá·áºááŸááºáá»ááºáá»á¬ážááᯠáá»áŸáá±ááŒá®áž á
á¬áááºážááœááºážááẠááá±á·áá«ááŸáá·áº
source: www.habr.com