āĻāĻāĻāĻŋ āĻŽāĻšāĻžāĻ¨ āĻļā§āĻā§āĻ°āĻŦāĻžāĻ° āĻ¸āĻŦāĻžāĻ āĻāĻā§! āĻā§āĻ°ā§āĻ¸ āĻāĻžāĻ˛ā§ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§ āĻāĻŽ āĻāĻŦāĻ āĻāĻŽ āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻžāĻāĻŋ āĻĨāĻžāĻā§
āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻŽāĻā§āĻā§
PostgreSQL 10-āĻ, āĻāĻŽāĻ°āĻž "āĻā§āĻˇāĻŖāĻžāĻŽā§āĻ˛āĻ āĻŦāĻŋāĻāĻžāĻāĻ¨" āĻāĻ° āĻāĻ¨ā§āĻŽ āĻĻā§āĻā§āĻāĻŋ, āĻāĻāĻāĻŋ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¯āĻž āĻĒā§āĻ°āĻžāĻ¨ā§ āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ āĻŽā§āĻŽāĻžāĻāĻ¸āĻŋāĻ¤ āĻ āĻ¨ā§āĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻ°āĻ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻā§āĻ˛ā§āĻ° āĻĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻ°ā§ āĻ¯āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻ¨ā§āĻā§āĻŽāĻŋāĻāĻāĻžāĻŦā§ āĻĄā§āĻāĻž āĻŦāĻŋāĻāĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ!
āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¤ā§āĻ˛āĻ¨āĻž
PostgreSQL 11 āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ¤āĻžāĻāĻ°ā§āĻˇāĻ āĻ¸ā§āĻ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻ¯āĻž āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ āĻāĻ°āĻž āĻā§āĻŦāĻŋāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻ°āĻ āĻ¸ā§āĻŦāĻā§āĻ āĻāĻ°āĻ¤ā§ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻāĻ°ā§āĨ¤
1. āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻŦā§āĻ¯āĻ¤āĻŋāĻā§āĻ°āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž
2. āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨ā§āĻĄ āĻ¯ā§āĻ āĻāĻ°ā§
3. āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ āĻāĻ°āĻž āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¨āĻ¨-āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§āĻ° āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§
4. āĻāĻ¨āĻĄā§āĻā§āĻ¸ā§ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§ āĻāĻ˛āĻžāĻŽ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§
5. āĻāĻāĻ¯āĻŧ āĻĒāĻā§āĻˇā§āĻ° āĻ§āĻžāĻ°āĻž āĻ¸ā§āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻž āĻ
āĻŦāĻļā§āĻ¯āĻ āĻŽāĻŋāĻ˛āĻŦā§
āĻā§āĻĒāĻžāĻĻāĻ¨āĻļā§āĻ˛āĻ¤āĻž
āĻāĻŽāĻ°āĻž āĻāĻāĻžāĻ¨ā§ āĻāĻžāĻ˛ āĻāĻŦāĻ° āĻāĻā§! āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ WHERE
. āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ, āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻāĻŋ āĻļāĻ°ā§āĻ¤ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦāĻŋāĻāĻžāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ WHERE
. āĻāĻ° āĻĢāĻ˛ā§ āĻ¸ā§āĻāĻļāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻŦā§āĻĻā§āĻ§āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒā§āĻ¯āĻŧā§āĻā§āĨ¤
9.6-āĻ, āĻāĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§, āĻāĻŋāĻĒāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§ āĻ°āĻžāĻāĻāĻŋāĻ āĻāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻāĻŋ āĻā§āĻ°āĻŋāĻāĻžāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻ˛āĻŋāĻā§ āĻ¸āĻ āĻŋāĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ā§ āĻāĻŋāĻĒāĻ˛ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§āĻļ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ IF āĻ¸ā§āĻā§āĻāĻŽā§āĻ¨ā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ°āĻŋāĻ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§āĨ¤ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻŦ āĻ§ā§āĻ° āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ 10 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻā§āĻˇāĻŖāĻžāĻŽā§āĻ˛āĻ āĻŦāĻŋāĻāĻžāĻāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ˛ā§, āĻāĻāĻŋ āĻ āĻ¨ā§āĻ āĻĻā§āĻ°ā§āĻ¤ āĻāĻžāĻ āĻāĻ°ā§āĨ¤
100āĻāĻŋ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ āĻ¸āĻš āĻāĻāĻāĻŋ āĻŦāĻŋāĻāĻžāĻāĻŋāĻ¤ āĻā§āĻŦāĻŋāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻāĻŽāĻ°āĻž 10āĻāĻŋ āĻŦāĻĄāĻŧ āĻāĻ˛āĻžāĻŽ āĻāĻŦāĻ 1āĻāĻŋ āĻāĻāĻāĻ¨āĻāĻŋ āĻāĻ˛āĻžāĻŽ āĻ¸āĻš āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§ 5 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻ¸āĻžāĻ°āĻŋ āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻŽā§āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻā§āĻ¤ āĻ°ā§āĻāĻ°ā§āĻĄ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ°ā§āĻāĻ°ā§āĻĄāĻā§ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻāĻŽāĻāĻ˛ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻā§āĻŦāĻŋāĻ˛āĻāĻŋ āĻ
āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§āĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž (āĻā§āĻŦāĻ˛ 1āĻāĻŋ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§):
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ āĻ¯ā§ PG 9.6 āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒā§āĻ¯āĻŧā§āĻā§āĨ¤ āĻ
āĻ¨ā§āĻ°ā§āĻ§ SELECT
āĻ
āĻ¨ā§āĻ āĻāĻžāĻ˛ā§ āĻĻā§āĻāĻžāĻ¯āĻŧ, āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽāĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻ˛ āĻ¯ā§ āĻļāĻŋāĻĄāĻŋāĻāĻ˛āĻāĻžāĻ°ā§ āĻ
āĻ¨ā§āĻ āĻāĻžāĻ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻāĻā§ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤ āĻāĻŋāĻ˛āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻŦāĻŋāĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻžāĻĨ āĻāĻ° āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻāĻ¸āĻāĻŋāĻāĻāĻ˛-āĻ āĻā§āĻŦāĻŋāĻ˛ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨āĻŋāĻ āĻāĻāĻāĻŋ āĻā§āĻŦ āĻļāĻā§āĻ¤āĻŋāĻļāĻžāĻ˛ā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻšāĻ¯āĻŧā§ āĻāĻ āĻ¤ā§ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻā§āĨ¤ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻ°ā§āĻ¤ āĻ
āĻ¨āĻ˛āĻžāĻāĻ¨ā§ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ§ā§āĻ°āĻāĻ¤āĻŋāĻ°, āĻŦāĻŋāĻļāĻžāĻ˛ DML āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ
āĻĒā§āĻā§āĻˇāĻž āĻ¨āĻž āĻāĻ°ā§ āĻ
āĻĢāĻ˛āĻžāĻāĻ¨ā§ āĻ¨ā§āĻāĻ¯āĻŧāĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤. āĻāĻ° āĻ
āĻ°ā§āĻĨ āĻāĻ āĻ¯ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻĄā§āĻāĻž āĻāĻāĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯āĻžāĻ° āĻ
āĻ°ā§āĻĨ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĄā§āĻāĻž āĻāĻ°āĻ āĻĻāĻā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§ āĻāĻ°āĻž āĻāĻ¨ā§āĻ¨āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§, āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§āĻāĻ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻĻāĻžāĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻĄāĻŧāĻž āĻ¸āĻŽā§āĻāĻŦ āĻšāĻ¤ āĻ¨āĻž āĻ¯āĻžāĻ°āĻž āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ
āĻā§āĻ˛āĻžāĻ¨ā§āĻ¤ āĻĒāĻ°āĻŋāĻļā§āĻ°āĻŽ āĻāĻ°ā§āĻā§āĻ¨āĨ¤
āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻŦāĻžāĻāĻā§ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ! PostgreSQL 11 āĻāĻŽāĻ¤ā§āĻāĻžāĻ° āĻĻā§āĻāĻžāĻ¯āĻŧ!
āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻā§āĻ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŦā§āĻļ āĻāĻāĻ°ā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻāĻā§. āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻļā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¸āĻžāĻāĻ¨ āĻāĻĒ āĻāĻ°āĻ¤ā§ āĻā§āĻ˛āĻŦā§āĻ¨ āĻ¨āĻž
āĻāĻ¤ā§āĻ¸: www.habr.com