PostgreSQL āĻŸāĻŋāĻŽ PostgreSQL 12 āĻĒā§āĻ°āĻ•āĻžāĻļā§‡āĻ° āĻ˜ā§‹āĻˇāĻŖāĻž āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĨ¤
PostgreSQL 12 āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§‡āĻ›ā§‡ - āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻĄā§‡āĻŸāĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ“ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤

āĻ¨āĻ¤ā§āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤:

  • JSON āĻĒāĻžāĻĨ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻ­āĻžāĻˇāĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ (āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛/āĻœā§‡āĻāĻ¸āĻāĻ¨ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ…āĻ‚āĻļ);
  • āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ā§‡āĻ° (āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĨ) āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§‡āĻ° āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻ¨;
  • āĻ‰āĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ˛āĻžāĻŽ āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨

āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧ PostgreSQL āĻāĻ° āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖāĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž, āĻ†āĻ¨ā§āĻ¤āĻ°ā§āĻœāĻžāĻ¤āĻŋāĻ•ā§€āĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻŦāĻŋāĻ•āĻžāĻļ, āĻĒā§āĻ°āĻŽāĻžāĻŖā§€āĻ•āĻ°āĻŖ āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ•āĻžāĻœ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻšā§āĻ›ā§‡āĨ¤

āĻāĻ‡ āĻ°āĻŋāĻ˛āĻŋāĻœā§‡ āĻĒā§āĻ˛āĻžāĻ—ā§‡āĻŦāĻ˛ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ‡āĻžā§āĻœāĻŋāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻāĻ–āĻ¨ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ

PostgreSQL 12-āĻ āĻ‡āĻ¨ā§āĻĄā§‡āĻ•ā§āĻ¸āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻāĻŦāĻ‚ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

B-tree indexes, PostgreSQL-āĻ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ‡āĻ¨ā§āĻĄā§‡āĻ•ā§āĻ¸āĻŋāĻ‚ āĻŸāĻžāĻ‡āĻĒ, āĻ•āĻžāĻœā§‡āĻ° āĻšāĻžāĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ 12 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ˜āĻ¨ āĻ˜āĻ¨ āĻ¸ā§‚āĻšāĻ• āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ PostgreSQL 12-āĻāĻ° āĻœāĻ¨ā§āĻ¯ TPC-C āĻŦā§‡āĻžā§āĻšāĻŽāĻžāĻ°ā§āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡ āĻ—āĻĄāĻŧ 40% āĻšā§āĻ°āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤

āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ•āĻ°āĻž āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻĒā§āĻ°āĻļā§āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ˛āĻ•ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›ā§‡, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻšāĻžāĻœāĻžāĻ° āĻšāĻžāĻœāĻžāĻ° āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ¸āĻžāĻ°āĻŖā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĄā§‡āĻŸāĻž āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ā§ˇ INSERT āĻāĻŦāĻ‚ COPY āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ•āĻ°āĻž āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻĄā§‡āĻŸāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°āĻļā§āĻ¨āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ˛āĻ• āĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĨ¤

PostgreSQL 12 āĻ¸ā§‚āĻšā§€āĻ•āĻ°āĻŖā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ¯āĻž āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  • āĻœāĻŋāĻāĻ¸āĻŸāĻŋ, āĻœāĻŋāĻ†āĻ‡āĻāĻ¨ āĻāĻŦāĻ‚ āĻāĻ¸āĻĒāĻŋ-āĻœāĻŋāĻ†āĻ‡āĻāĻ¸āĻŸāĻŋ āĻ¸ā§‚āĻšāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ“āĻ¯āĻŧāĻžāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ“āĻ­āĻžāĻ°āĻšā§‡āĻĄ āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ;
  • āĻœāĻŋāĻāĻ¸āĻŸāĻŋ āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ā§‡ āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤ āĻ•āĻ­āĻžāĻ°āĻŋāĻ‚ āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž (āĻ‡āĻ¨āĻ•ā§āĻ˛ā§āĻĄ āĻ•ā§āĻ˛āĻœ);
  • āĻĻā§‚āĻ°āĻ¤ā§āĻŦ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° (<->) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ SP-GiST āĻ¸ā§‚āĻšāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ "āĻ¨āĻŋāĻ•āĻŸāĻ¤āĻŽ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻļā§€" āĻĒā§āĻ°āĻļā§āĻ¨ (k-NN āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨) āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž;
  • āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ•-āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŽāĻžāĻ¨ (MCV) āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨, āĻ¯āĻž āĻ•āĻ˛āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻĒā§‡āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¸āĻŽāĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

LLVM āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ JIT āĻ¸āĻ‚āĻ•āĻ˛āĻ¨, PostgreSQL 11-āĻ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻŋāĻ¤, āĻāĻ–āĻ¨ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ WHERE āĻ•ā§āĻ˛āĻœ, āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ˛āĻŋāĻ¸ā§āĻŸ, āĻāĻ—ā§āĻ°āĻŋāĻ—ā§‡āĻŸ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒā§‡ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ JIT āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ LLVM āĻāĻ° āĻ¸āĻžāĻĨā§‡ PostgreSQL āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°ā§‡āĻ¨ āĻŦāĻž LLVM āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž PostgreSQL āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤

āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ­āĻžāĻˇāĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻāĻŦāĻ‚ āĻŽāĻžāĻ¨āĻ• āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ā§‡āĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ

PostgreSQL 12 SQL/JSON āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ JSON āĻĒāĻžāĻĨ āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ JSON āĻ¨āĻĨāĻŋ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻļā§āĻ¨āĻ—ā§āĻ˛āĻŋ āĻĻāĻ•ā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ JSONB āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ¨āĻĨāĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸ā§‚āĻšā§€āĻ•āĻ°āĻŖ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•āĻžāĻœā§‡ āĻ˛āĻžāĻ—āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋ, āĻ¯āĻž āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡āĻ“ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤, āĻāĻ–āĻ¨ PostgreSQL 12-āĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻž āĻ…āĻ¨ā§‡āĻ• āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡, WITH āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€āĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ…āĻ‚āĻļ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻ–āĻ¨āĻ‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻŽā§‚āĻ˛āĻ• āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻāĻ° āĻ•ā§‹āĻ¨ āĻĒāĻžāĻ°ā§āĻļā§āĻŦāĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨ā§‡āĻ‡ āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŦāĻžāĻ° āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€āĻŸāĻŋāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻ‚āĻļā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

PostgreSQL 12 "āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸā§‡āĻĄ āĻ•āĻ˛āĻžāĻŽ" āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤, āĻāĻ‡ āĻ•āĻ˛āĻžāĻŽā§‡āĻ° āĻ§āĻ°āĻ¨ āĻāĻ•āĻ‡ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ•āĻ˛āĻžāĻŽā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡, PostgreSQL "āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸā§‡āĻĄ āĻ•āĻ˛āĻžāĻŽ" āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻŽāĻžāĻ¨ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ†āĻ¨ā§āĻ¤āĻ°ā§āĻœāĻžāĻ¤āĻŋāĻ•ā§€āĻ•āĻ°āĻŖ

PostgreSQL 12 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° "āĻ¨āĻ¨-āĻĄāĻŋāĻŸāĻžāĻ°āĻŽāĻŋāĻ¨āĻŋāĻ¸ā§āĻŸāĻŋāĻ• āĻ•ā§‹āĻ˛ā§‡āĻļāĻ¨" āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ ICU āĻ•ā§‹āĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•ā§‡āĻ¸-āĻ¸āĻ‚āĻŦā§‡āĻĻāĻ¨āĻļā§€āĻ˛ āĻŦāĻž āĻ‰āĻšā§āĻšāĻžāĻ°āĻŖ-āĻ…āĻ¸āĻ‚āĻŦā§‡āĻĻāĻ¨āĻļā§€āĻ˛ āĻ¤ā§āĻ˛āĻ¨āĻžāĻ•ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĒā§āĻ°āĻŽāĻžāĻŖā§€āĻ•āĻ°āĻŖ

PostgreSQL āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻ°ā§āĻ§āĻ¨ āĻ¸āĻš āĻļāĻ•ā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§€ āĻĒā§āĻ°āĻŽāĻžāĻŖā§€āĻ•āĻ°āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ°āĻŋāĻ˛āĻŋāĻœāĻŸāĻŋ GSSAPI āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖā§€āĻ•āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ-āĻ¸āĻžāĻ‡āĻĄ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°-āĻ¸āĻžāĻ‡āĻĄ āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ PostgreSQL āĻ¯āĻ–āĻ¨ OpenLDAP-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻ–āĻ¨ LDAP āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ†āĻŦāĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĨ¤

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤āĻ­āĻžāĻŦā§‡, PostgreSQL 12 āĻāĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖā§€āĻ•āĻ°āĻŖ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤ PostgreSQL āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻāĻ–āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ•ā§‡ clientcert=verify-full āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻ§ SSL āĻļāĻ‚āĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĒā§āĻ°āĻŽāĻžāĻŖā§€āĻ•āĻ°āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻ¯ā§‡āĻŽāĻ¨ scram-sha-256)āĨ¤

āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ¨

PostgreSQL 12 REINDEX CONCURRENTLY āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻ¨-āĻŦā§āĻ˛āĻ•āĻŋāĻ‚ āĻ¸ā§‚āĻšāĻ• āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ¸ā§‚āĻšāĻ• āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ DBMS āĻĄāĻžāĻ‰āĻ¨āĻŸāĻžāĻ‡āĻŽ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤āĻ­āĻžāĻŦā§‡, PostgreSQL 12-āĻ, āĻ†āĻĒāĻ¨āĻŋ pg_checksums āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻļāĻžāĻŸāĻĄāĻžāĻ‰āĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ°ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻž āĻšā§‡āĻ•āĻ¸āĻžāĻŽ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦāĻž āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻĒā§‚āĻ°ā§āĻŦā§‡, āĻĒā§‡āĻœ āĻšā§‡āĻ•āĻ¸āĻžāĻŽ, āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯āĻž āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĄā§‡āĻŸāĻžāĻ° āĻ…āĻ–āĻŖā§āĻĄāĻ¤āĻž āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻ–āĻ¨āĻ‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ āĻ¯āĻ–āĻ¨ PostgreSQL āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° initdb āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻ°āĻŽā§āĻ­ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ‰āĻ¤ā§āĻ¸: linux.org.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨