A squadra PostgreSQL hà annunziatu a liberazione di PostgreSQL 12, l'ultima versione di u sistema di gestione di basa di dati relazionale open source.
PostgreSQL 12 hà migliuratu significativamente u rendiment di a dumanda - soprattuttu quandu travaglia cù grandi quantità di dati, è hà ancu ottimizatu l'usu di u spaziu di discu in generale.
Funzioni novi include:
- implementazione di a lingua di query JSON Path (a parte più impurtante di u standard SQL / JSON);
- ottimisazione di l'esekzione di espressioni di tabella cumuni (WITH);
- supportu per e colonne generate
A cumunità cuntinueghja ancu à travaglià nantu à l'estensibilità è l'affidabilità di PostgreSQL, sviluppendu supportu per l'internazionalizazione, capacità di autentificazione, è furnisce modi più faciuli per amministrari u sistema.
Questa liberazione include l'implementazione di una interfaccia per i mutori di almacenamiento pluggable, chì avà permette à i sviluppatori di creà i so propri metudi di almacenamiento di dati.
Migliuramenti di prestazione
PostgreSQL 12 include miglioramenti significativi di prestazioni è mantenimentu per i sistemi di indexazione è di partizione.
L'indici B-tree, u tipu di indexazione standard in PostgreSQL, sò stati ottimizzati in a versione 12 per carichi di travagliu chì implicanu mudificazioni frequenti d'indici. Utilizà u benchmark TPC-C per PostgreSQL 12 hà dimustratu una riduzzione media di 40% in l'usu di u spaziu è un aumentu generale di u rendiment di a dumanda.
E dumande contr'à e tavule partizionate anu ricivutu miglioramenti notevuli, in particulare per i tavulini custituiti da millaie di partizioni chì necessitanu di travaglià solu cù parti limitate di e matrici di dati. U rendiment di aghjunghje dati à e tavule partizionate cù INSERT è COPY hè statu migliuratu, è ancu a capacità di aghjunghje una nova partizione senza bluccà e dumande.
PostgreSQL 12 hà fattu miglioramenti supplementari à l'indexazione chì impactanu u rendiment generale, cumprese:
- overhead ridutta quandu genera WAL per i tipi di indici GiST, GIN è SP-GiST;
- l'abilità di creà i cosi-chiamati indici di copertura (clause INCLUDE) nantu à l'indici GiST;
- a capacità di realizà e dumande di "vicini più vicinu" (ricerca k-NN) utilizendu l'operatore di distanza (<->) è utilizendu indici SP-GiST;
- supportu per a cullizzioni di statistiche di u valore più cumuni (MCV) utilizendu CREATE STATISTICS, chì aiuta à ottene piani di ricerca megliu quandu si usanu colonne chì i valori sò distribuiti in modo ineguale.
A compilazione JIT utilizendu LLVM, introduttu in PostgreSQL 11, hè avà attivatu per automaticamente. A compilazione JIT migliora u rendiment quandu travaglia cù espressioni in clausole WHERE, liste di destinazione, aggregati è alcune operazioni interne. Hè dispunibule s'ellu avete compilatu PostgreSQL cù LLVM o si usa un pacchettu PostgreSQL chì hè statu custruitu cù LLVM attivatu.
Migliure à e capacità di lingua SQL è a cumpatibilità standard
PostgreSQL 12 hà introduttu l'abilità di dumandà documenti JSON utilizendu espressioni di percorsu JSON definite in u standard SQL / JSON. Tali dumande ponu sfruttà i meccanismi di indexazione esistenti per i documenti almacenati in formatu JSONB per ricuperà in modu efficiente e dati.
L'espressioni di tavule cumuni, cunnisciute ancu cum'è WITH queries, ponu avà esse eseguite automaticamente usendu a sostituzione in PostgreSQL 12, chì à u turnu pò aiutà à migliurà u rendiment di parechje dumande esistenti. In a nova versione, una parte di sustituzzioni di una query WITH pò esse eseguita solu s'ellu ùn hè micca recursive, ùn hà micca effetti collaterali, è hè riferitu solu una volta in una parte successiva di a dumanda.
PostgreSQL 12 introduce supportu per "colonne generate". Descrittu in u standard SQL, stu tipu di colonna calcula un valore basatu annantu à u cuntenutu di l'altri colonne in a stessa tabella. In questa versione, PostgreSQL supporta "colonne generate almacenate", induve u valore calculatu hè almacenatu in discu.
Internaziunalizazione
PostgreSQL 12 espansione u supportu per i colazioni di l'ICU permettendu à l'utilizatori di definisce "colazioni non deterministiche" chì ponu, per esempiu, permette paraguni insensibili à u casu o à l'accentu.
Autenticazione
PostgreSQL allarga u so supportu per i metudi d'autentificazione forte cù parechje miglioramenti chì furnisce una sicurezza è funziunalità supplementari. Questa liberazione introduce a criptografia di u cliente è di u servitore per l'autentificazione annantu à l'interfacce GSSAPI, è dinò l'abilità di PostgreSQL per scopre i servitori LDAP quandu PostgreSQL hè compilatu cù OpenLDAP.
Inoltre, PostgreSQL 12 supporta avà una opzione di autentificazione multifattore. U servitore PostgreSQL pò avà dumandà à u cliente di furnisce un certificatu SSL validu cù u nome d'utilizatore currispundente cù clientcert=verify-full, è combina questu cù un requisitu di metudu di autentificazione separatu (per esempiu, scram-sha-256).
Amministrazione
PostgreSQL 12 hà introduttu a capacità di fà ricustruisce l'indici senza bloccu utilizendu u cumandamentu REINDEX CONCURRENTLY. Questu permette à l'utilizatori di evità i tempi di inattività di DBMS durante ricustruzioni di l'indici longu.
Inoltre, in PostgreSQL 12, pudete attivà o disattivà i checksums di pagina in un cluster di chjusu cù u cumandimu pg_checksums. In precedenza, i checksums di pagina, una funzione chì aiuta à verificà l'integrità di e dati almacenati in u discu, puderia esse attivatu solu quandu u cluster PostgreSQL hè statu inizializatu cù initdb.
Source: linux.org.ru