āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ āĻŦāĻāĻ° āĻĒāĻ°, PostgreSQL 14 DBMS-āĻāĻ° āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻļāĻžāĻāĻž āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§ā§ˇ āĻ¨āĻ¤ā§āĻ¨ āĻļāĻžāĻāĻžāĻ° āĻāĻĒāĻĄā§āĻāĻā§āĻ˛āĻŋ āĻ¨āĻā§āĻŽā§āĻŦāĻ° 2026 āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒāĻžāĻāĻ āĻŦāĻāĻ°ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻŦā§ā§ˇ
āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻĻā§āĻāĻžāĻŦāĻ¨:
- āĻ
ā§āĻ¯āĻžāĻ°ā§āĻ° āĻŽāĻ¤ā§ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ JSON āĻĄā§āĻāĻž āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§: SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĨā§āĻā§ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤['attributes']['size'] = '"āĻŽāĻžāĻāĻžāĻ°āĻŋ"';
hstore āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻā§/āĻŽāĻžāĻ¨ āĻĄā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸āĻāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻāĻāĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻŦāĻāĻ¨ā§āĻ¨ āĻāĻžāĻ āĻžāĻŽā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯āĻž āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ§āĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ hstore āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ: INSERT INTO mytable VALUES ('a=>b, c=>d'); mytable āĻĨā§āĻā§ h['a'] āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨; āĻāĻĒāĻĄā§āĻ mytable SET h['c'] = 'āĻ¨āĻ¤ā§āĻ¨';
- āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻžāĻ°āĻā§ āĻ¨āĻ¤ā§āĻ¨ "āĻŽāĻžāĻ˛ā§āĻāĻŋāĻ°ā§āĻā§āĻ" āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ -āĻāĻāĻžāĻ°āĻ˛ā§āĻ¯āĻžāĻĒāĻŋāĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻŽāĻžāĻā§āĻ˛āĻŋāĻ° āĻ āĻ°ā§āĻĄāĻžāĻ°āĻā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧā§ˇ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ°ā§āĻā§āĻ āĻāĻžāĻāĻĒ āĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻŽāĻžāĻ˛ā§āĻāĻŋāĻ°ā§āĻā§āĻ āĻāĻžāĻāĻĒ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, "int4range" āĻāĻžāĻāĻĒāĻāĻŋ "int4multirange" āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧ, āĻāĻŦāĻ "daterange" āĻāĻžāĻāĻĒ "datemultirange" āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻā§āĻ¯āĻŧā§āĻ°āĻŋāĻ° āĻĄāĻŋāĻāĻžāĻāĻ¨āĻā§ āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¯āĻž āĻ°ā§āĻā§āĻā§āĻ° āĻāĻāĻŋāĻ˛ āĻ¸āĻŋāĻā§āĻ¯āĻŧā§āĻ¨ā§āĻ¸āĻā§ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§āĻ āĻāĻ°ā§āĨ¤ '{[3,7), [8,9)}'::int4multirange; nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0)) āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨;
- āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻāĻā§āĻ-āĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻā§āĻ˛āĻŋāĻ° āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯ā§āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻ āĻ¸āĻāĻ¯ā§āĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻāĻ°ā§ā§ˇ āĻāĻŋāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ¯āĻŧ, āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻĻā§āĻŦāĻŋāĻā§āĻŖ āĻŦā§āĻĻā§āĻ§āĻŋ āĻĒāĻ°āĻŋāĻ˛āĻā§āĻˇāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
- āĻŦāĻŋ-āĻā§āĻ°āĻŋ āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻā§āĻŦāĻŋāĻ˛āĻā§āĻ˛āĻŋ āĻāĻ¨ āĻāĻ¨ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻāĻ āĻŦā§āĻĻā§āĻ§āĻŋāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻļāĻ¨ā§āĻ° āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ-āĻ¸āĻžāĻāĻĄ (libpq āĻ¸ā§āĻ¤āĻ°ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤) āĻŽā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻžāĻ āĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦāĻŋāĻĒā§āĻ˛ āĻ¸āĻāĻā§āĻ¯āĻ āĻā§āĻ āĻ˛ā§āĻāĻžāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ (INSERT/UPDATE/DELETE) āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻā§āĻ¤ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻāĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻā§āĻ°āĻāĻŋāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§āĻ° āĻ āĻĒā§āĻā§āĻˇāĻž āĻ¨āĻž āĻāĻ°ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ āĻ¨ā§āĻ°ā§āĻ§āĨ¤ āĻŽā§āĻĄ āĻĻā§āĻ°ā§āĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻĄā§āĻ˛āĻŋāĻāĻžāĻ°āĻŋ āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻžāĻ āĻĻā§āĻ°ā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°ā§āĨ¤
- āĻāĻāĻžāĻ§āĻŋāĻ PostgreSQL āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻĄāĻŧāĻŋāĻ¤ āĻŦāĻŋāĻ¤āĻ°āĻŖāĻā§āĻ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨ā§āĻ¨āĻ¤ āĻā§āĻˇāĻŽāĻ¤āĻžāĨ¤ āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻŽāĻŋāĻ āĻŽā§āĻĄā§ āĻ˛ā§āĻ¨āĻĻā§āĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ°ā§āĻ°āĻŖ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻŦāĻĄāĻŧ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻžāĻā§ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĄā§āĻāĻžāĻ° āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻĄāĻŋāĻā§āĻĄāĻŋāĻ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻā§āĻŦāĻŋāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦāĻŋāĻĻā§āĻļā§ āĻĄā§āĻāĻž āĻ°âā§āĻ¯āĻžāĻĒāĻžāĻ° (postgres_fdw) āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ°ā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĻā§, āĻ¯āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ PostgreSQL āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯āĨ¤ postgres_fdw āĻŦā§āĻ¯āĻžāĻ āĻŽā§āĻĄā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻā§āĻŦāĻŋāĻ˛ā§ āĻĄā§āĻāĻž āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§ āĻāĻŦāĻ "āĻāĻŽāĻĒā§āĻ°ā§āĻ āĻĢāĻ°ā§āĻ¨ āĻ¸ā§āĻāĻŋāĻŽāĻž" āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°ā§ āĻĒāĻžāĻ°ā§āĻāĻŋāĻļāĻ¨ āĻāĻ°āĻž āĻā§āĻŦāĻŋāĻ˛ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻžāĨ¤
- āĻā§āĻ¯āĻžāĻā§āĻ¯āĻŧāĻžāĻŽ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ (āĻāĻŦāĻ°ā§āĻāĻ¨āĻž āĻ¸āĻāĻā§āĻ°āĻš āĻāĻŦāĻ āĻĄāĻŋāĻ¸ā§āĻ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻĒā§āĻ¯āĻžāĻā§āĻāĻŋāĻ) āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻāĻŋ āĻāĻ°ā§āĻ°ā§ āĻā§āĻ˛āĻŋāĻ¨āĻāĻĒ āĻŽā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻā§āĻ˛āĻŋāĻ¨āĻāĻĒ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋāĻā§ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻāĻāĻĄāĻŋ āĻŽā§āĻĄāĻŧāĻ āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻ¤ā§āĻ°āĻŋ āĻšāĻ¯āĻŧāĨ¤ B-Tree āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§ āĻ¸ā§āĻā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻžāĻ°āĻšā§āĻĄ āĻšā§āĻ°āĻžāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ "āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ" āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨, āĻ¯āĻž āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°ā§, āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯āĻāĻžāĻŦā§ āĻ¤ā§āĻŦāĻ°āĻžāĻ¨ā§āĻŦāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- TOAST āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻāĻŽā§āĻĒā§āĻ°ā§āĻļāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻā§āĻā§āĻ¸āĻ āĻŦā§āĻ˛āĻ āĻŦāĻž āĻā§āĻ¯āĻžāĻŽāĻŋāĻ¤āĻŋāĻ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻŽāĻ¤ā§ āĻŦāĻĄāĻŧ āĻĄā§āĻāĻž āĻ¸āĻāĻ°āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§āĨ¤ pglz āĻāĻŽā§āĻĒā§āĻ°ā§āĻļāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻžāĻĄāĻŧāĻžāĻ, TOAST āĻāĻāĻ¨ LZ4 āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
- āĻĄāĻŋāĻŦāĻŋāĻāĻŽāĻāĻ¸-āĻāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ COPY āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻ āĻā§āĻ°āĻāĻ¤āĻŋ (pg_stat_progress_copy), āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ¸ā§āĻ˛āĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ (pg_stat_replication_slots) āĻāĻŦāĻ WAL āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻ˛āĻ (pg_stat_wal) āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻāĻžāĻ°ā§āĻ¯āĻāĻ˛āĻžāĻĒ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻāĻŋāĻ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ compute_query_id āĻĢāĻžāĻāĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻā§ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ pg_stat_activity āĻāĻŦāĻ EXPLAIN VERBOSE, āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ āĻ¨āĻ¨ā§āĻ¯ āĻļāĻ¨āĻžāĻā§āĻ¤āĻāĻžāĻ°ā§ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°ā§ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻā§āĻ˛āĻŋ āĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§āĨ¤
- āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻā§āĻ°āĻŽāĻŋāĻ āĻ°ā§āĻāĻ°ā§āĻĄ āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻ¯ā§āĻā§ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§, "āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻā§āĻ¯āĻŧā§āĻ°āĻŋ" āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ PL/pgSQL-āĻ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ¸āĻā§āĻāĻžāĻ˛āĻ¨ āĻāĻŦāĻ "āĻ āĻĒā§āĻ°āĻļā§āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ā§ˇ āĻ°āĻŋāĻĢā§āĻ°ā§āĻļ āĻŦāĻ¸ā§āĻ¤ā§āĻāĻ¤ āĻĻā§āĻˇā§āĻāĻŋāĻāĻā§āĻāĻŋâ. āĻ¸āĻžāĻāĻā§āĻ˛āĻŋāĻ āĻ¨ā§āĻ¸ā§āĻā§āĻĄ āĻŽāĻžāĻ°ā§āĻ (āĻ¯ā§āĻāĻĻāĻžāĻ¨) āĻāĻ° āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻ¤ā§, āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻā§āĻ¯āĻžāĻļāĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻāĻ¨ā§āĻ¨āĻ¤ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻāĻāĻ¨ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŦāĻ āĻā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻŦāĻžāĻāĻžāĻ āĻāĻāĻ¨ āĻāĻāĻ¨ā§āĻĄā§ āĻĢāĻžāĻāĻļāĻ¨ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
- āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻĄā§āĻ° āĻŦā§āĻ˛āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ˛ā§āĻ¨āĻĻā§āĻ¨ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻāĻāĻ¨ "āĻāĻāĻ" āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻĄā§āĻāĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤
- āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ°āĻžāĻāĻ¨ā§āĻĄ āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ¯āĻžāĻŽā§āĻĒ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§ date_bin āĻĢāĻžāĻāĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¤āĻžāĻ°āĻŋāĻ_āĻŦāĻŋāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨('15 āĻŽāĻŋāĻ¨āĻŋāĻ', āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ¯āĻžāĻŽā§āĻĒ '2020-02-11 15:44:17', āĻāĻžāĻāĻŽāĻ¸ā§āĻā§āĻ¯āĻžāĻŽā§āĻĒ '2001-01-01'); 2020-02-11 15:30:00
- āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻāĻŽāĻ¨ āĻā§āĻŦāĻŋāĻ˛ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ā§ (CTE) āĻāĻā§āĻ°āĻā§āĻ˛āĻŋāĻā§ āĻ āĻ°ā§āĻĄāĻžāĻ° āĻāĻ°āĻž āĻāĻŦāĻ āĻļāĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻž āĻ¸āĻšāĻ āĻāĻ°āĻ¤ā§ SQL āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄā§ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻŦāĻ āĻ¸āĻžāĻāĻā§āĻ˛ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¸āĻŋāĻ āĻ¸āĻžāĻ°ā§āĻ_āĻā§āĻ°āĻŋ (āĻāĻāĻĄāĻŋ, āĻ˛āĻŋāĻā§āĻ, āĻĄā§āĻāĻž) AS ( SELECT t.id, t.link, t.data from tree t UNION āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨ t.id, t.link, t.data FROM āĻā§āĻ°āĻŋ t, search_tree st WHERE tāĨ¤ id = st.link ) āĻ¸āĻžāĻ°ā§āĻ āĻĄāĻŋāĻĒāĻĨ āĻĢāĻžāĻ°ā§āĻ¸ā§āĻ āĻŦāĻžāĻ āĻāĻāĻĄāĻŋ āĻ¸ā§āĻ āĻ āĻ°ā§āĻĄāĻžāĻ°āĻāĻ˛ āĻ¸āĻŋāĻ˛ā§āĻā§āĻ āĻāĻ°ā§āĻ¨ * āĻ¸āĻžāĻ°ā§āĻ_āĻā§āĻ°āĻŋ āĻĨā§āĻā§ āĻ āĻ°ā§āĻĄāĻžāĻ° āĻŦāĻžāĻ āĻ āĻ°ā§āĻĄāĻžāĻ°āĻāĻ˛;
- psql āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻ¤ā§, āĻā§āĻ¯āĻžāĻŦ āĻ¸āĻš āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ¤āĻž āĻāĻ¨ā§āĻ¨āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ā§āĻ° āĻā§āĻˇāĻŽāĻ¤āĻž "\df" āĻāĻŽāĻžāĻ¨ā§āĻĄā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ "\dX" āĻāĻŽāĻžāĻ¨ā§āĻĄā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ°-āĻĒāĻ āĻ¨ āĻŦāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ˛ā§āĻāĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦāĨ¤ pg_read_all_data āĻāĻŦāĻ pg_write_all_data āĻĒā§āĻ°ā§āĻŦāĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻā§āĻŽāĻŋāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻā§āĻŦāĻŋāĻ˛, āĻāĻŋāĻ āĻāĻŦāĻ āĻ¸ā§āĻāĻŋāĻŽāĻžāĻā§āĻ˛āĻŋāĻ¤ā§ āĻŦāĻŋāĻļā§āĻˇāĻžāĻ§āĻŋāĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻ¸ā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻā§āĻ°āĻžāĻ¨ā§āĻ pg_read_all_data to user1;
- āĻ¨āĻ¤ā§āĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ md256-āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ SCRAM-SHA-5 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻ (postgresql.conf āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ "password_encryption" āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻāĻāĻ¨ 'scram-sha-256' āĻ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§)āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru