PostgreSQL 12 DBMS ಬಿಡುಗಡೆ

ಅಭಿವೃದ್ಧಿಯ ಒಂದು ವರ್ಷದ ನಂತರ ಪ್ರಕಟಿಸಲಾಗಿದೆ PostgreSQL 12 DBMS ನ ಹೊಸ ಸ್ಥಿರ ಶಾಖೆ. ಹೊಸ ಶಾಖೆಗೆ ನವೀಕರಣಗಳು ಹೊರಬರುತ್ತದೆ ನವೆಂಬರ್ 2024 ರವರೆಗೆ ಐದು ವರ್ಷಗಳವರೆಗೆ.

ಮುಖ್ಯ ನಾವೀನ್ಯತೆಗಳು:

  • "ಗಾಗಿ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆರಚಿಸಿದ ಕಾಲಮ್‌ಗಳು", ಅದರ ಮೌಲ್ಯವನ್ನು ಒಂದೇ ಕೋಷ್ಟಕದಲ್ಲಿನ ಇತರ ಕಾಲಮ್‌ಗಳ ಮೌಲ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಅಭಿವ್ಯಕ್ತಿಯ ಆಧಾರದ ಮೇಲೆ ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ (ವೀಕ್ಷಣೆಗಳಿಗೆ ಹೋಲುತ್ತದೆ, ಆದರೆ ಪ್ರತ್ಯೇಕ ಕಾಲಮ್‌ಗಳಿಗೆ). ರಚಿಸಲಾದ ಕಾಲಮ್‌ಗಳು ಎರಡು ವಿಧಗಳಾಗಿರಬಹುದು - ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಮತ್ತು ವರ್ಚುವಲ್. ಮೊದಲ ಪ್ರಕರಣದಲ್ಲಿ, ಡೇಟಾವನ್ನು ಸೇರಿಸುವ ಅಥವಾ ಬದಲಾಯಿಸುವ ಸಮಯದಲ್ಲಿ ಮೌಲ್ಯವನ್ನು ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ ಮತ್ತು ಎರಡನೆಯ ಸಂದರ್ಭದಲ್ಲಿ, ಇತರ ಕಾಲಮ್‌ಗಳ ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಯನ್ನು ಆಧರಿಸಿ ಪ್ರತಿ ರೀಡ್‌ನಲ್ಲಿ ಮೌಲ್ಯವನ್ನು ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ. ಪ್ರಸ್ತುತ, PostgreSQL ಸಂಗ್ರಹಿಸಿದ ರಚಿತ ಕಾಲಮ್‌ಗಳನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ;
  • ಬಳಸಿಕೊಂಡು JSON ಡಾಕ್ಯುಮೆಂಟ್‌ಗಳಿಂದ ಡೇಟಾವನ್ನು ಪ್ರಶ್ನಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮಾರ್ಗದ ಅಭಿವ್ಯಕ್ತಿಗಳು, ನೆನಪಿಸುತ್ತದೆ ಎಕ್ಸ್‌ಪಾತ್ ಮತ್ತು SQL/JSON ಮಾನದಂಡದಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ. JSONB ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ ದಾಖಲೆಗಳಿಗಾಗಿ ಅಂತಹ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸುಧಾರಿಸಲು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಇಂಡೆಕ್ಸಿಂಗ್ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ;
  • SQL ಪ್ರಶ್ನೆ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಕೆಲವು ಅಭಿವ್ಯಕ್ತಿಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ವೇಗಗೊಳಿಸಲು LLVM ಬೆಳವಣಿಗೆಗಳ ಆಧಾರದ ಮೇಲೆ JIT (ಜಸ್ಟ್-ಇನ್-ಟೈಮ್) ಕಂಪೈಲರ್ ಅನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, JIT ಅನ್ನು WHERE ಬ್ಲಾಕ್‌ಗಳು, ಗುರಿ ಪಟ್ಟಿಗಳು, ಒಟ್ಟು ಅಭಿವ್ಯಕ್ತಿಗಳು ಮತ್ತು ಕೆಲವು ಆಂತರಿಕ ಕಾರ್ಯಾಚರಣೆಗಳ ಒಳಗೆ ಅಭಿವ್ಯಕ್ತಿಗಳ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ವೇಗಗೊಳಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ;
  • ಇಂಡೆಕ್ಸಿಂಗ್ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಸುಧಾರಿಸಲಾಗಿದೆ. ಸೂಚ್ಯಂಕಗಳು ಆಗಾಗ್ಗೆ ಬದಲಾಗುವ ಪರಿಸರದಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು ಬಿ-ಟ್ರೀ ಸೂಚ್ಯಂಕಗಳನ್ನು ಹೊಂದುವಂತೆ ಮಾಡಲಾಗಿದೆ - TPC-C ಪರೀಕ್ಷೆಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯಲ್ಲಿ ಒಟ್ಟಾರೆ ಹೆಚ್ಚಳ ಮತ್ತು ಡಿಸ್ಕ್ ಸ್ಥಳಾವಕಾಶದ ಬಳಕೆಯಲ್ಲಿ ಸರಾಸರಿ 40% ಕಡಿತವನ್ನು ತೋರಿಸುತ್ತವೆ. GiST, GIN ಮತ್ತು SP-GiST ಇಂಡೆಕ್ಸ್ ಪ್ರಕಾರಗಳಿಗಾಗಿ ಬರೆಯಲು-ಮುಂದೆ ಲಾಗ್ (WAL) ಅನ್ನು ರಚಿಸುವಾಗ ಕಡಿಮೆ ಓವರ್ಹೆಡ್. GiST ಗಾಗಿ, ಹೆಚ್ಚುವರಿ ಕಾಲಮ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಹೊದಿಕೆಯ ಸೂಚಿಕೆಗಳನ್ನು (INCLUDE ಅಭಿವ್ಯಕ್ತಿಯ ಮೂಲಕ) ರಚಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಕಾರ್ಯಾಚರಣೆಯಲ್ಲಿದೆ ಅಂಕಿಅಂಶಗಳನ್ನು ರಚಿಸಿ ಅಸಮಾನವಾಗಿ ವಿತರಿಸಲಾದ ಕಾಲಮ್‌ಗಳನ್ನು ಬಳಸುವಾಗ ಹೆಚ್ಚು ಸೂಕ್ತವಾದ ಪ್ರಶ್ನೆ ಯೋಜನೆಗಳನ್ನು ರಚಿಸಲು ಸಹಾಯ ಮಾಡಲು ಸಾಮಾನ್ಯ ಮೌಲ್ಯದ (MCV) ಅಂಕಿಅಂಶಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಒದಗಿಸಲಾಗಿದೆ.
  • ವಿಭಜನೆಯ ಅನುಷ್ಠಾನವು ಸಾವಿರಾರು ವಿಭಾಗಗಳೊಂದಿಗೆ ಕೋಷ್ಟಕಗಳನ್ನು ವ್ಯಾಪಿಸುವ ಪ್ರಶ್ನೆಗಳಿಗೆ ಹೊಂದುವಂತೆ ಮಾಡಲಾಗಿದೆ, ಆದರೆ ಡೇಟಾದ ಸೀಮಿತ ಉಪವಿಭಾಗವನ್ನು ಆಯ್ಕೆಮಾಡಲು ಸೀಮಿತವಾಗಿದೆ. INSERT ಮತ್ತು COPY ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ವಿಭಜಿತ ಕೋಷ್ಟಕಗಳಿಗೆ ಡೇಟಾವನ್ನು ಸೇರಿಸುವ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ರಶ್ನೆಯ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿರ್ಬಂಧಿಸದೆಯೇ "ಆಲ್ಟರ್ ಟೇಬಲ್ ಲಗತ್ತಿಸುವ ವಿಭಾಗ" ಮೂಲಕ ಹೊಸ ವಿಭಾಗಗಳನ್ನು ಸೇರಿಸಲು ಸಹ ಸಾಧ್ಯವಿದೆ;
  • ಸಾಮಾನ್ಯೀಕರಿಸಿದ ಟೇಬಲ್ ಅಭಿವ್ಯಕ್ತಿಗಳ ಸ್ವಯಂಚಾಲಿತ ಇನ್ಲೈನ್ ​​ವಿಸ್ತರಣೆಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಸಾಮಾನ್ಯ ಟೇಬಲ್ ಅಭಿವ್ಯಕ್ತಿ, CTE) ಇದು ಹೇಳಿಕೆಯೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ತಾತ್ಕಾಲಿಕ ಹೆಸರಿನ ಫಲಿತಾಂಶ ಸೆಟ್‌ಗಳ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಇನ್‌ಲೈನ್ ನಿಯೋಜನೆಯು ಹೆಚ್ಚಿನ ಪ್ರಶ್ನೆಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ, ಆದರೆ ಪ್ರಸ್ತುತ ಪುನರಾವರ್ತಿತವಲ್ಲದ CTE ಗಳಿಗೆ ಮಾತ್ರ ಬಳಸಲಾಗುತ್ತದೆ;
  • ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ನಿರ್ಣಾಯಕವಲ್ಲದ “ಕೊಲೇಶನ್” ಲೊಕೇಲ್‌ನ ಗುಣಲಕ್ಷಣಗಳು, ಇದು ಅಕ್ಷರಗಳ ಅರ್ಥವನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಂಡು ವಿಂಗಡಿಸುವ ನಿಯಮಗಳು ಮತ್ತು ಹೊಂದಾಣಿಕೆಯ ವಿಧಾನಗಳನ್ನು ಹೊಂದಿಸಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ಡಿಜಿಟಲ್ ಮೌಲ್ಯಗಳನ್ನು ವಿಂಗಡಿಸುವಾಗ, ಸಂಖ್ಯೆ ಮತ್ತು ವಿವಿಧ ಪ್ರಕಾರಗಳ ಮುಂದೆ ಮೈನಸ್ ಮತ್ತು ಚುಕ್ಕೆಗಳ ಉಪಸ್ಥಿತಿ ಕಾಗುಣಿತವನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ ಮತ್ತು ಹೋಲಿಸಿದಾಗ, ಅಕ್ಷರಗಳ ಪ್ರಕರಣ ಮತ್ತು ಉಚ್ಚಾರಣಾ ಚಿಹ್ನೆಯ ಉಪಸ್ಥಿತಿಯನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ)
  • ಬಹು-ಅಂಶ ಕ್ಲೈಂಟ್ ದೃಢೀಕರಣಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದರಲ್ಲಿ pg_hba.conf ನಲ್ಲಿ ನೀವು ದೃಢೀಕರಣಕ್ಕಾಗಿ scram-sha-256 ನಂತಹ ಹೆಚ್ಚುವರಿ ದೃಢೀಕರಣ ವಿಧಾನದೊಂದಿಗೆ SSL ಪ್ರಮಾಣಪತ್ರ ದೃಢೀಕರಣವನ್ನು (clientcert=verify-full) ಸಂಯೋಜಿಸಬಹುದು;
  • ಮೂಲಕ ದೃಢೀಕರಿಸುವಾಗ ಸಂವಹನ ಚಾನಲ್‌ನ ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಜಿಎಸ್ಎಸ್ಎಪಿಐ, ಕ್ಲೈಂಟ್ ಬದಿಯಲ್ಲಿ ಮತ್ತು ಸರ್ವರ್ ಬದಿಯಲ್ಲಿ ಎರಡೂ;
  • PostgreSQL ಅನ್ನು OpenLDAP ನೊಂದಿಗೆ ನಿರ್ಮಿಸಿದ್ದರೆ "DNS SRV" ದಾಖಲೆಗಳ ಆಧಾರದ ಮೇಲೆ LDAP ಸರ್ವರ್‌ಗಳನ್ನು ನಿರ್ಧರಿಸಲು ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ "ರೀಂಡೆಕ್ಸ್ ಏಕಕಾಲದಲ್ಲಿ»ಸೂಚ್ಯಂಕಕ್ಕೆ ಬರೆಯುವ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸದೆಯೇ ಸೂಚ್ಯಂಕಗಳನ್ನು ಮರುನಿರ್ಮಾಣ ಮಾಡಲು;
  • ಆಜ್ಞೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ pg_checksums, ಇದು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಡೇಟಾಬೇಸ್‌ಗಾಗಿ ಡೇಟಾ ಪುಟಗಳ ಚೆಕ್‌ಸಮ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಅಥವಾ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ (ಹಿಂದೆ ಈ ಕಾರ್ಯಾಚರಣೆಯು ಡೇಟಾಬೇಸ್ ಪ್ರಾರಂಭದ ಸಮಯದಲ್ಲಿ ಮಾತ್ರ ಬೆಂಬಲಿತವಾಗಿದೆ);
  • ಕಾರ್ಯಾಚರಣೆಗಳಿಗಾಗಿ ಪ್ರಗತಿ ಸೂಚಕದ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಒದಗಿಸಲಾಗಿದೆ INDEX, REINDEX, CLUSTER, VACUUM FULL ಮತ್ತು pg_checksumಗಳನ್ನು ರಚಿಸಿ;
  • ಆಜ್ಞೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ "ಪ್ರವೇಶ ವಿಧಾನವನ್ನು ರಚಿಸಿ»ವಿವಿಧ ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಗಳಿಗಾಗಿ ಹೊಂದುವಂತೆ ಹೊಸ ಟೇಬಲ್ ಶೇಖರಣಾ ವಿಧಾನಗಳಿಗಾಗಿ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳನ್ನು ಸಂಪರ್ಕಿಸಲು. ಪ್ರಸ್ತುತ ಮಾತ್ರ ಅಂತರ್ನಿರ್ಮಿತ ಟೇಬಲ್ ಪ್ರವೇಶ ವಿಧಾನವೆಂದರೆ "ರಾಶಿ";
  • recovery.conf ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು postgresql.conf ನೊಂದಿಗೆ ವಿಲೀನಗೊಳಿಸಲಾಗಿದೆ. ವೈಫಲ್ಯದ ನಂತರ ಚೇತರಿಕೆಯ ಸ್ಥಿತಿಗೆ ಪರಿವರ್ತನೆಯ ಸೂಚಕಗಳಾಗಿ, ಈಗ ಇರಬೇಕು recovery.signal ಮತ್ತು standby.signal ಫೈಲ್‌ಗಳನ್ನು ಬಳಸಿ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ