PostgreSQL 14 DBMS ืžืขืœื“ื•ื ื’

ื ืึธืš ืึท ื™ืึธืจ ืคื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, ืึท ื ื™ื™ึท ืกื˜ืึทื‘ื™ืœ ืฆื•ื•ื™ื™ึทื’ ืคื•ืŸ ื“ื™ PostgreSQL 14 DBMS ืื™ื– ืืจื•ื™ืก. ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืคึฟืึทืจ ื“ื™ ื ื™ื™ึท ืฆื•ื•ื™ื™ึทื’ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืคืจื™ื™ื˜ ืื™ื‘ืขืจ ืคื™ื ืฃ ื™ืึธืจ ื‘ื™ื– ื ืื•ื•ืขืžื‘ืขืจ 2026.

ื”ื•ื™ืคึผื˜ ื—ื™ื“ื•ืฉื™ื:

  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึทืงืกืขืก JSON ื“ืึทื˜ืŸ ื ื™ืฆืŸ ืžืขื ื’ืข-ื•ื•ื™ ืื•ื™ืกื“ืจื•ืงืŸ: SELECT ('{"postgres": {"release": 14}}'::jsonb)['postgres']['release']; SELECT * FROM test WHERE ื“ืขื˜ืึทื™ืœืก['attributes']['size'] = '"ืžื™ื˜ืœ"';

    ื ืขื ืœืขืš ืกื™ื ื˜ืึทืงืก ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืคึฟืึทืจ ื“ื™ ืฉืœื™ืกืœ / ื•ื•ืขืจื˜ ื“ืึทื˜ืŸ ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ื“ื™ hstore ื˜ื™ืคึผ. ื“ืขืจ ืกื™ื ื˜ืึทืงืก ืื™ื– ื˜ื›ื™ืœืขืก ื™ืžืคึผืœืึทืžืขื ืึทื“ ืžื™ื˜ ืึท ื•ื ื™ื•ื•ืขืจืกืึทืœ ืคืจื™ื™ืžื•ื•ืขืจืง, ื•ื•ืึธืก ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜ ืงืขืŸ ื–ื™ื™ืŸ ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ืื ื“ืขืจืข ื˜ื™ื™ืคึผืก. ื‘ื™ื™ึทืฉืคึผื™ืœ ืคึฟืึทืจ ื”ืกื˜ืึธืจืข ื˜ื™ืคึผ: INSERT INTO ืžื™ื˜ืึทื‘ืœืข ื•ื•ืึทืœื•ืขืก ('a=>b, c=>d'); SELECT h['a'] FROM ืžื™ื˜ืึทื‘ืœืข; ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืžื™ื˜ืึทื‘ืœืข SET h['c'] = 'ื ื™ื™ึท';

  • ื“ื™ ืžืฉืคึผื—ื” ืคื•ืŸ ื˜ื™ื™ืคึผืก ืคึฟืึทืจ ื“ื™ืคื™ื™ื ื™ื ื’ ืจื™ื™ื ื“ื–ืฉืึทื– ืื™ื– ื™ืงืกืคึผืึทื ื“ื™ื“ ืžื™ื˜ ื ื™ื™ึทืข "ืžื•ืœื˜ื™ืจื™ื™ื ื“ื–ืฉืข" ื˜ื™ื™ืคึผืก, ื•ื•ืึธืก ืœืึธื–ืŸ ืื™ืจ ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึธืจื“ืขืจื“ ืจืฉื™ืžื•ืช ืคื•ืŸ ื ื™ื˜-ืึธื•ื•ื•ืขืจืœืึทืคึผื™ื ื’ ืจื™ื™ื ื“ื–ืฉืึทื– ืคื•ืŸ ื•ื•ืึทืœื•ืขืก. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื™ืขื“ืขืจ ื™ื’ื–ื™ืกื˜ื™ื ื’ ืงื™ื™ื˜ ื˜ื™ืคึผ, ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืžื•ืœื˜ื™ืจื™ื™ื ื“ื–ืฉ ื˜ื™ืคึผ ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ื“ืขืจ ื˜ื™ืคึผ "ื™ื ื˜4ืจื™ืึทื ื’ืข" ืงืึธืจืึทืกืคึผืึทื ื“ื– ืฆื• "ื™ื ื˜4ืžื•ืœื˜ื™ืจืึทื ื’ืข", ืื•ืŸ ื“ืขืจ ื˜ื™ืคึผ "ื“ืึทื˜ืขืจืึทื ื’ืข" ืงืึธืจืึทืกืคึผืึทื ื“ื– ืฆื• "ื“ืึทื˜ืขืžื•ืœื˜ื™ืจืึทื ื’ืข". ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื ื™ื™ึทืข ื˜ื™ื™ืคึผืก ืกื™ืžืคึผืœืึทืคื™ื™ื– ื“ื™ ืคึผืœืึทืŸ ืคื•ืŸ ืงื•ื•ื™ืจื™ื– ื•ื•ืึธืก ืžืึทื ื™ืคึผื•ืœื™ืจืŸ ืงืึธืžืคึผืœืขืงืก ืกื™ืงื•ื•ืึทื ืกื™ื– ืคื•ืŸ ืจื™ื™ื ื“ื–ืฉืึทื–. ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ '{[3,7), [8,9)}'::int4multirange; SELECT nummultirange (ื ื•ืžืจืึทื ื’ืข (1.0, 14.0), ื ื•ืžืขืจืึทื ื’ืข (20.0, 25.0));
  • ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก ื–ืขื ืขืŸ ื’ืขืžืื›ื˜ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ื”ื•ื™ืš-ืžืึทืกืข ืกื™ืกื˜ืขืžืขืŸ ืคึผืจืึทืกืขืกื™ื ื’ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ืงืึทื ืขืงืฉืึทื ื–. ืื™ืŸ ืขื˜ืœืขื›ืข ื˜ืขืกืฅ, ืึท ืฆื•ื•ื™ื™ืคืœ ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ื– ื‘ืืžืขืจืงื˜.
  • ื“ื™ ืขืคืขืงื˜ื™ื•ื•ืงื™ื™ึทื˜ ืคื•ืŸ ื‘-ื‘ื•ื™ื ื™ื ื“ืขืงืกื™ื– ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“ ืื•ืŸ ื“ื™ ืคึผืจืึธื‘ืœืขื ืžื™ื˜ ืื™ื ื“ืขืงืก ื’ืจืึธื•ื˜ ื•ื•ืขืŸ ื˜ื™ืฉืŸ ื–ืขื ืขืŸ ืึธืคื˜ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืื™ื– ืกืึทืœื•ื•ื“.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืงืœื™ืขื ื˜-ื–ื™ื™ึทื˜ (ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื•ื™ืฃ ื“ื™ libpq ืžื“ืจื’ื”) ืžืึธื“ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืจืขืจื  - ืœื™ื ื™ืข ื˜ืจืึทื ืกืžื™ืกื™ืข ืคื•ืŸ โ€‹โ€‹ืจื™ืงื•ื•ืขืก, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื‘ืื˜ื™ื™ื˜ื™ืง ืคืึทืจื’ื™ื›ืขืจืŸ ื“ืึทื˜ืึทื‘ื™ื™ืก ืกื™ื ืขืจื™ืึธื•ื– ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื“ื•ืจื›ืคื™ืจืŸ ืึท ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ืงืœื™ื™ืŸ ืฉืจื™ื™ึทื‘ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– (INSERT / UPDATE / DELETE) ื“ื•ืจืš ืฉื™ืงืŸ ื“ื™ ื•ื•ื™ื™ึทื˜ืขืจ ื‘ืขื˜ืŸ ืึธืŸ ื•ื•ืืจื˜ืŸ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืื™ื™ื ืขืจ. ื“ืขืจ ืžืึธื“ืข ืื•ื™ืš ื”ืขืœืคึผืก ืฆื• ืคืึทืจื’ื™ื›ืขืจืŸ ื“ื™ ืึทืจื‘ืขื˜ ืื•ื™ืฃ ืงืึทื ืขืงืฉืึทื ื– ืžื™ื˜ ืœืึทื ื’ ืคึผืึทืงืึทื˜ ืขืงืกืคึผืจืขืก ื“ื™ืœื™ื™ื–.
  • ืขื ื›ืึทื ืกื˜ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืคึฟืึทืจ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ืžื™ื˜ ืงื™ื™ืคืœ PostgreSQL ืกืขืจื•ื•ืขืจืก. ืื™ืŸ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ืœืึทื“ื–ืฉื™ืงืึทืœ ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ, ืขืก ืื™ื– ืื™ืฆื˜ ืžืขื’ืœืขืš ืฆื• ืฉื™ืงืŸ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื™ืŸ ืคึผืจืึธื’ืจืขืก ืื™ืŸ ืกื˜ืจื™ืžื™ื ื’ ืžืึธื“ืข, ื•ื•ืึธืก ืงืขื ืขืŸ ื‘ืื˜ื™ื™ื˜ื™ืง ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ื’ืจื•ื™ืก ื˜ืจืึทื ื–ืึทืงืฉืึทื ื–. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ื“ื™ ืœืึทื“ื–ืฉื™ืงืึทืœ ื“ื™ืงืึธื•ื“ื™ื ื’ ืคื•ืŸ ื“ืึทื˜ืŸ ื‘ืืงื•ืžืขืŸ ื‘ืขืฉืึทืก ืœืึทื“ื–ืฉื™ืงืึทืœ ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ ืื™ื– ืึธืคึผื˜ื™ืžื™ื–ืขื“.
  • ื“ืขืจ ืžืขืงืึทื ื™ื–ืึทื ืคึฟืึทืจ ืงืึทื ืขืงื˜ื™ื ื’ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื˜ื™ืฉืŸ ืคืจืขืžื“ ื“ืึทื˜ืึท ืจืึทืคึผืขืจ (postgres_fdw) ื”ืื˜ ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคึผืึทืจืึทืœืขืœ ืึธื ืคึฟืจืขื’ ืคึผืจืึทืกืขืกื™ื ื’, ื•ื•ืึธืก ืื™ื– ื“ืขืจื•ื•ื™ื™ึทืœ ืึธื ื•ื•ืขื ื“ืœืขืš ื•ื•ืขืŸ ืงืึทื ืขืงื˜ื™ื ื’ ืฆื• ืื ื“ืขืจืข PostgreSQL ืกืขืจื•ื•ืขืจืก. postgres_fdw ืื•ื™ืš ืžื•ืกื™ืฃ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืึทื“ื™ื ื’ ื“ืึทื˜ืŸ ืฆื• ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื˜ื™ืฉืŸ ืื™ืŸ ืคึผืขืงืœ ืžืึธื“ืข ืื•ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึทืจื™ื™ึทื ืคื™ืจ ืคึผืึทืจื˜ื™ืฉืึทื ื“ ื˜ื™ืฉืŸ ื“ื•ืจืš ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ "IMPORT FOREIGN SCHEMA" ื“ื™ืจืขืงื˜ื™ื•ื•.
  • ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื’ืขืžืื›ื˜ ืฆื• ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ื•ื•ืึทืงื•ื•ื ืึธืคึผืขืจืึทืฆื™ืข (ืžื™ืกื˜ ื–ืึทืžืœื•ื ื’ ืื•ืŸ ืคึผืึทืงืงืึทื’ื™ื ื’ ืคื•ืŸ ื“ื™ืกืง ืกื˜ืึธืจื™ื“ื–ืฉ). ืึท ื ื•ื™ื˜ืคืึทืœ ืงืœื™ื ืึทืคึผ ืžืึธื“ืข ืื™ื– ืฆื•ื’ืขืœื™ื™ื’ื˜ ื•ื•ืึธืก ืกืงื™ืคึผืก ื ื™ื˜-ื™ืงืขืจื“ื™ืง ืงืœื™ื ืึทืคึผ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืื•ื™ื‘ ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ืฉื™ื™ึทืŸ ืจืึทืคึผืจืึธื•ื ื“ ื˜ื ืึธื™ื ื–ืขื ืขืŸ ื‘ืืฉืืคืŸ. ืจื™ื“ื•ืกื˜ ืึธื•ื•ื•ืขืจื›ืขื“ ื•ื•ืขืŸ ืคึผืจืึทืกืขืกื™ื ื’ ื™ื ื“ืขืงืกื™ื– ืื™ืŸ ื“ื™ ื‘-ื˜ืจื™ ืคึฟืึธืจืžืึทื˜. ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ "ืึทื ืึทืœื™ื–ืข" ืึธืคึผืขืจืึทืฆื™ืข, ื•ื•ืึธืก ืงืึทืœืขืงืฅ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ื•ื•ืขื’ืŸ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก, ืื™ื– ื‘ืื˜ื™ื™ื˜ื™ืง ืึทืงืกืขืœืขืจื™ื™ื˜ื™ื“.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ืงืึทืžืคึผืจืขืฉืึทืŸ ืื•ืคึฟืŸ ื’ืขื ื™ืฆื˜ ืื™ืŸ ื“ื™ TOAST ืกื™ืกื˜ืขื, ื•ื•ืึธืก ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ืกื˜ืึธืจื™ื ื’ ื’ืจื•ื™ืก ื“ืึทื˜ืŸ, ืึทื–ืึท ื•ื•ื™ ื˜ืขืงืกื˜ ื‘ืœืึทืงืก ืึธื“ืขืจ ื“ื–ืฉื™ืึทืžืขื˜ืจื™ืง ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข. ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ื“ื™ pglz ืงืึทืžืคึผืจืขืฉืึทืŸ ืื•ืคึฟืŸ, TOAST ืงืขื ืขืŸ ืื™ืฆื˜ ื ื•ืฆืŸ ื“ื™ LZ4 ืึทืœื’ืขืจื™ื“ืึทื.
  • ื“ื™ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ DBMS ื–ืขื ืขืŸ ื™ืงืกืคึผืึทื ื“ื™ื“. ืฆื•ื’ืขืœื™ื™ื’ื˜ ืงื•ืงืŸ ืฆื• ืฉืคึผื•ืจ ื“ื™ ืคึผืจืึธื’ืจืขืก ืคื•ืŸ COPY ืงืึทืžืึทื ื“ื– (pg_stat_progress_copy), ืกื˜ืึทื˜ื™ืกื˜ื™ืง ื•ื•ืขื’ืŸ ืจืขืคึผืœืึทืงื™ื™ืฉืึทืŸ ืกืœืึธืฅ (pg_stat_replication_slots) ืื•ืŸ ืึทืงื˜ื™ื•ื•ื™ื˜ืขื˜ืŸ ืฉื™ื™ึทื›ื•ืช ืฆื• ื“ื™ WAL ื˜ืจืึทื ืกืึทืงื˜ื™ืึธืŸ ืงืœืึธืฅ (pg_stat_wal). ื“ื™ compute_query_id ืคื•ื ืงืฆื™ืข ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ, ื•ื•ืึธืก ื™ื ื™ื™ื‘ืึทืœื– ืคืึทืจืฉื™ื“ืŸ ืกืึทื‘ืกื™ืกื˜ืึทืžื–, ืึทื–ืึท ื•ื•ื™ pg_stat_activity ืื•ืŸ EXPLAIN VERBOSE, ืฆื• ืฉืคึผื•ืจ ืจื™ืงื•ื•ืขืก ื“ื•ืจืš ืึทืกื™ื™ื ื™ื ื’ ืึท ื™ื™ื ืฆื™ืง ื™ื“ืขื ื˜ื™ืคื™ืขืจ ืคึฟืึทืจ ื™ืขื“ืขืจ ื‘ืงืฉื”.
  • ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• ื“ื™ ืึธื ืคึฟืจืขื’ ืคึผืœืึทื ื ืขืจ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ืคึผืึทืจืึทืœืขืœ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ ืคึฟืจืื’ืŸ ืื•ืŸ ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืก ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ืกืึทืงื•ื•ืขื ื˜ืฉืึทืœ ืจืขืงืึธืจื“ ื™ื‘ืขืจืงื•ืงืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื–, ืคึผืึทืจืึทืœืขืœ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ืคึฟืจืื’ืŸ ืื™ืŸ PL/pgSQL ื ื™ืฆืŸ ื“ื™ "RETURN QUERY" ื‘ืึทืคึฟืขืœ, ืื•ืŸ ืคึผืึทืจืึทืœืขืœ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ืคึฟืจืื’ืŸ ืื™ืŸ " ื“ืขืจืคืจื™ืฉืŸ ืžืึทื˜ืขืจื™ืึทืœื™ื–ืขื“ ืžื™ื™ื ื•ื ื’". ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืกื™ื™ืงืœื™ืง ื ืขืกื˜ืขื“ ืžืขืจื“ื–ืฉื™ื– (ืคืึทืจื‘ื™ื ื“ืŸ), ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื ืึธืš ืงืึทื˜ืฉื™ื ื’ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“.
  • ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืงืขื ืขืŸ ืื™ืฆื˜ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืึทืคึผื˜ืึทืžื™ื™ื– ืื•ื™ืกื“ืจื•ืงืŸ, ืื•ืŸ ื™ื ืงืจืึทืžืขื ื˜ืึทืœ ืกืึธืจื˜ื™ื ื’ ืงืขื ืขืŸ ืื™ืฆื˜ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ืึทืคึผื˜ืึทืžื™ื™ื– ืคึฟืขื ืฆื˜ืขืจ ืคืึทื ื’ืงืฉืึทื ื–.
  • ืกื˜ืึธืจื“ ืคึผืจืึธื•ืกื™ื“ื–ืฉืขืจื– ื•ื•ืึธืก ืœืึธื–ืŸ ืื™ืจ ืฆื• ืคื™ืจืŸ ื˜ืจืึทื ื–ืึทืงืฉืึทื ื– ืื™ืŸ ื‘ืœืึทืงืก ืคื•ืŸ ืงืึธื“ ืื™ืฆื˜ ืฉื˜ื™ืฆืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื“ืึทื˜ืŸ ื ื™ืฆืŸ "ืื•ื™ืก" ืคึผืึทืจืึทืžืขื˜ืขืจืก.
  • ืฆื•ื’ืขื’ืขื‘ืŸ date_bin ืคื•ื ืงืฆื™ืข ืฆื• ืงื™ื™ึทืœืขื›ื™ืง ืฆื™ื™ื˜ ืกื˜ืึทืžืคึผ ื•ื•ืึทืœื•ืขืก ืœื•ื™ื˜ ืึท ืกืคึผืขืกื™ืคื™ืขื“ ืžืขื”ืึทืœืขืš. SELECT date_bin ('15 ืžื™ื ื•ื˜', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020/02/11 15:30:00
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ื–ื•ื›ืŸ ืื•ืŸ ืฆื™ืงืœ ืื•ื™ืกื“ืจื•ืงืŸ ื“ื™ืคื™ื™ื ื“ ืื™ืŸ ื“ื™ ืกืงืœ ื ืึธืจืžืึทืœ ืฆื• ืžืึทื›ืŸ ืขืก ื’ืจื™ื ื’ืขืจ ืฆื• ืกื“ืจ ืื•ืŸ ื™ื“ืขื ื˜ื™ืคื™ืฆื™ืจืŸ ืกื™ื™ืงืึทืœื– ืื™ืŸ ืจืขืงื•ืจืกื™ื•ื•ืข ืงืึธืžืžืึธืŸ ื˜ืึทื‘ืœืข ืขืงืกืคึผืจืขืกืกื™ืึธื ืก (CTE). ืžื™ื˜ ืจืขืงื•ืจืกื™ื•ื•ืข ื–ื•ื›ืŸ_ื˜ืจื™ืข (ืฉื™ื™ึทืŸ, ืœื™ื ืง, ื“ืึทื˜ืŸ) ื•ื•ื™ ( ืกืขืœืขืงื˜ ื˜.ื™ื“, ื˜.ืœื™ื ืง, ื˜.ื“ืึทื˜ืึท FROM ื‘ื•ื™ื ื˜ ื™ื•ื ื™ืึทืŸ ืึทืœืข ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื˜.ื™ื“, ื˜.ืœื™ื ืง, ื˜.ื“ืึทื˜ืึท FROM ื‘ื•ื™ื ื”, ื–ื•ื›ืŸ_ื˜ืจื™ืข ืกื˜ WHERE t. ืฉื™ื™ึทืŸ = ืกื˜.ืœื™ื ืง) ื–ื•ื›ืŸ ื˜ื™ืคืงื™ื™ึทื˜ ืขืจืฉื˜ืขืจ ื“ื•ืจืš ืฉื™ื™ึทืŸ ืฉื˜ืขืœืŸ ืึธืจื“ืขืจืงืึธืœ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ * ืคึฟื•ืŸ ื–ื•ื›ืŸ_ื˜ืจื™ืข ืกื“ืจ ื“ื•ืจืš ืึธืจื“ืขืจืงืึธืœ;
  • ืื™ืŸ ื“ื™ psql ื ื•ืฆืŸ, ื“ื™ ืึทื•ื˜ืึธืงืึธืžืคึผืœืขื˜ื™ืึธืŸ ืคื•ืŸ ืงืึทืžืึทื ื“ื– ืžื™ื˜ ื˜ืึทื‘ืก ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“, ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื•ื•ื™ื™ึทื–ืŸ ืคืึทื ื’ืงืฉืึทื ื– ืึทืจื’ื•ืžืขื ื˜ืŸ ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ "\df" ื‘ืึทืคึฟืขืœ, ืื•ืŸ ื“ื™ ื’ืขื•ื•ื™ื–ืŸ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ื–ืขื ืขืŸ ื™ืงืกืคึผืึทื ื“ื™ื“ ืฆื• ื“ื™ "\dX" ื‘ืึทืคึฟืขืœ.
  • ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ื‘ืœื•ื™ื– ืœื™ื™ืขื ืขืŸ ืึธื“ืขืจ ืฉืจื™ื™ึทื‘ืŸ-ื‘ืœื•ื™ื– ืคึผืจื™ื•ื•ื™ืœืึทื“ื–ืฉืึทื– ืฆื• ื ื™ืฆืขืจืก. ืคึผืจื™ื•ื•ื™ืœืึทื“ื–ืฉืึทื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ืฉื˜ืขืœืŸ ืื•ื™ืฃ ื™ื—ื™ื“ ื˜ื™ืฉืŸ, ืงื•ืงืŸ ืื•ืŸ ืกื˜ืฉืขืžืึทืก ื ื™ืฆืŸ ื“ื™ ืคึผืจื™ื“ื™ืคื™ื™ื ื“ ืจืึธืœืขืก pg_read_all_data ืื•ืŸ pg_write_all_data. GRANT pg_read_all_data ืฆื• ื‘ืึทื ื™ืฆืขืจ 1;
  • ื ื™ื• ื™ื ืกื˜ืึทืœื™ื™ืฉืึทื ื– ืคืขืœื™ืงื™ื™ึทื˜ ืฆื• ืคึผืึทืจืึธืœ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ื ื™ืฆืŸ SCRAM-SHA-256 ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ md5 (ื“ื™ "ืคึผืึทืกืกื•ื•ืึธืจื“_ืขื ืงืจื™ืคึผื˜ื™ืึธืŸ" ืคึผืึทืจืึทืžืขื˜ืขืจ ื•ื•ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ postgresql.conf ืื™ื– ืื™ืฆื˜ ื‘ืึทืฉื˜ื™ืžื˜ ืฆื• 'ืกืงืจืึทื-ืฉืึท-256').

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’