{"id":37975,"date":"2019-10-31T22:20:56","date_gmt":"2019-10-31T19:20:56","guid":{"rendered":"https:\/\/prohoster.info\/blog\/apgrejd-dlya-lenivyh-kak-postgresql-12-povyshaet-proizvoditelnost\/"},"modified":"2019-10-31T22:20:56","modified_gmt":"2019-10-31T19:20:56","slug":"apgrejd-dlya-lenivyh-kak-postgresql-12-povyshaet-proizvoditelnost","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/apgrejd-dlya-lenivyh-kak-postgresql-12-povyshaet-proizvoditelnost","title":{"rendered":"Ngritja p\u00ebr lenient\u00ebt: si PostgreSQL 12 rrit performanc\u00ebn","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Ngritja p\u00ebr lenient\u00ebt: si PostgreSQL 12 rrit performanc\u00ebn\" src=\"\/wp-content\/uploads\/2019\/09\/59721c53412b5932a332bd6c687650e8.JPG\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/\">PostgreSQL 12<\/a><\/noindex>, versioni m\u00eb i fundit \"i baz\u00ebs s\u00eb t\u00eb dh\u00ebnave relacionale m\u00eb t\u00eb mir\u00eb n\u00eb bot\u00eb me burim t\u00eb hapur\", do t\u00eb dal\u00eb brenda disa jav\u00ebsh (n\u00ebse gjith\u00e7ka shkon sipas planit). Kjo i p\u00ebrkon orarit t\u00eb zakonsh\u00ebm \u2014 nj\u00eb version i ri me shum\u00eb mund\u00ebsi t\u00eb reja del \u00e7do vit dhe, sinqerisht, kjo \u00ebsht\u00eb e impresionueshme. Prandaj kam b\u00ebr\u00eb an\u00ebtar t\u00eb aktiv t\u00eb komunitetit PostgreSQL.<\/p>\n<p><\/p>\n<p>Mendoj se, ndryshe nga botimet e kaluara, PostgreSQL 12 nuk ka nj\u00eb ose dy funksione revolucionare (si\u00e7 jan\u00eb, p\u00ebr shembull, ndarjet ose paralelizmi i k\u00ebrkesave). Kam b\u00ebr\u00eb nj\u00eb shaka se karakteristika kryesore e PostgreSQL 12 \u00ebsht\u00eb stabiliteti m\u00eb i madh. A nuk \u00ebsht\u00eb kjo ajo q\u00eb na nevojitet kur menaxhojm\u00eb t\u00eb dh\u00ebna t\u00eb r\u00ebnd\u00ebsishme p\u00ebr biznesin tuaj?<\/p>\n<p><\/p>\n<p>Por PostgreSQL 12 nuk p\u00ebrfundon k\u00ebtu: me mund\u00ebsit\u00eb dhe p\u00ebrmir\u00ebsimet e reja, aplikacionet do t\u00eb funksionojn\u00eb m\u00eb mir\u00eb, <em>dhe nga ju k\u00ebrkohet vet\u00ebm t\u00eb b\u00ebni ngritjen!<\/em><\/p>\n<p><\/p>\n<p>(Epo, ndoshta duhet t\u00eb rind\u00ebrtoni indekset, por n\u00eb k\u00ebt\u00eb version nuk \u00ebsht\u00eb aq e frikshme sa jemi m\u00ebsuar.)<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Do t\u00eb ishte bukur \u2014 t\u00eb ngrini PostgreSQL dhe menj\u00ebher\u00eb t\u00eb shijoni p\u00ebrmir\u00ebsime t\u00eb konsiderueshme pa l\u00ebvizje t\u00eb tep\u00ebrta. Disa vjet m\u00eb par\u00eb kam analizuar p\u00ebrdit\u00ebsimin nga PostgreSQL 9.4 n\u00eb PostgreSQL 10 dhe kam par\u00eb si u p\u00ebrshpejtua aplikacioni fal\u00eb p\u00ebrmir\u00ebsimit t\u00eb paralelizmit t\u00eb k\u00ebrkesave n\u00eb PostgreSQL 10. Dhe, m\u00eb kryesorja, nuk m\u00eb nevojitej pothuajse asgj\u00eb (vet\u00ebm t\u00eb vendosja nj\u00eb paramet\u00ebr konfigurimi <code>max_parallel_workers<\/code>).<\/p>\n<p><\/p>\n<p>Bashkohuni me mua, \u00ebsht\u00eb e p\u00ebrshtatshme kur menj\u00ebher\u00eb pas ngritjes aplikacionet funksionojn\u00eb m\u00eb mir\u00eb. Ne punojm\u00eb shum\u00eb p\u00ebr t\u00eb b\u00ebr\u00eb p\u00ebrdoruesit t\u00eb lumtur, pasi numri i p\u00ebrdoruesve t\u00eb PostgreSQL po rritet.<\/p>\n<p><\/p>\n<p>Dhe si do t'ju b\u00ebj\u00eb m\u00eb t\u00eb lumtur nj\u00eb ngritje e thjesht\u00eb n\u00eb PostgreSQL 12? Tani do t'ju tregoj.<\/p>\n<p><\/p>\n<h3 id=\"sereznye-uluchsheniya-indeksirovaniya\">P\u00ebrmir\u00ebsime serioze n\u00eb indeksim<\/h3>\n<p><\/p>\n<p>Pa indeksimin, baza e t\u00eb dh\u00ebnave nuk do t\u00eb arrij\u00eb shum\u00eb. Si mund t\u00eb gjeni informacione shpejt? Sistemi themelor i indeksimit t\u00eb PostgreSQL quhet <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/B-tree\">B-pema<\/a><\/noindex>. Ky tip indeksi \u00ebsht\u00eb optimizuar p\u00ebr sistemet e ruajtjes.<\/p>\n<p><\/p>\n<p>Ne thjesht p\u00ebrdorim operatorin <code>CREATE INDEX ON some_table (some_column)<\/code>, nd\u00ebrsa PostgreSQL b\u00ebn pun\u00ebn e madhe p\u00ebr t\u00eb mbajtur indekset e azhurnuara nd\u00ebrsa ne vazhdimisht shtojm\u00eb, p\u00ebrdit\u00ebsojm\u00eb dhe fshijm\u00eb vlera. T\u00eb gjitha funksionon vetvetiu, si me magji.<\/p>\n<p><\/p>\n<p>Por indekset e PostgreSQL kan\u00eb nj\u00eb problem \u2014 ato <noindex><a rel=\"nofollow\" href=\"https:\/\/info.crunchydata.com\/blog\/checking-for-postgresql-bloat\">zmadhohen<\/a><\/noindex> dhe z\u00ebn\u00eb hap\u00ebsir\u00eb t\u00eb panevojshme n\u00eb disk, nd\u00ebrsa performanca e nxjerrjes dhe p\u00ebrdit\u00ebsimit t\u00eb t\u00eb dh\u00ebnave zvog\u00eblohet. Me \"p\u00ebrgjakje\" n\u00ebnkuptoj mbajtjen joefikase t\u00eb struktur\u00ebs s\u00eb indeksit. Kjo mund t\u00eb jet\u00eb - ose nuk mund t\u00eb jet\u00eb - e lidhur me tupat e plehrave q\u00eb fshin <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/current\/sql-vacuum.html\">VACUUM<\/a><\/noindex> (faleminderit p\u00ebr informacionin Peter Geogheganit (<noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/petervgeoghegan\">Peter Geoghegan<\/a><\/noindex>)). P\u00ebrshtatja e indeksit \u00ebsht\u00eb ve\u00e7an\u00ebrisht e dukshme n\u00eb ngarkesat e pun\u00ebs ku indekset modifikohen aktivisht.<\/p>\n<p><\/p>\n<p>PostgreSQL 12 p\u00ebrmir\u00ebson ndjesh\u00ebm funksionimin e indekseve B-tree, dhe eksperimentet me testet e tipit TPC-C treguan se tani p\u00ebrdoret, mesatarisht, 40% m\u00eb pak hap\u00ebsir\u00eb. Tani harxhojm\u00eb m\u00eb pak koh\u00eb jo vet\u00ebm p\u00ebr mir\u00ebmbajtjen e indekseve B-tree (dmth n\u00eb operacionet e shkrimit), por gjithashtu n\u00eb nxjerrjen e t\u00eb dh\u00ebnave, pasi indekset jan\u00eb b\u00ebr\u00eb shum\u00eb m\u00eb t\u00eb vogla.<\/p>\n<p><\/p>\n<p>Aplikacionet q\u00eb azhurnojn\u00eb aktivisht tabelat e tyre - zakonisht k\u00ebto jan\u00eb aplikacione OLTP (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Online_transaction_processing\">p\u00ebrpunimi i transaksioneve n\u00eb koh\u00eb reale<\/a><\/noindex>) - do t\u00eb p\u00ebrdorin diskun shum\u00eb m\u00eb efikas dhe do t\u00eb p\u00ebrpunojn\u00eb k\u00ebrkesat. Sa m\u00eb shum\u00eb hap\u00ebsir\u00eb n\u00eb disk, aq m\u00eb shum\u00eb hap\u00ebsir\u00eb ka databaza p\u00ebr rritje pa p\u00ebrmir\u00ebsimin e infrastruktur\u00ebs.<\/p>\n<p><\/p>\n<p>Disa strategji p\u00ebrmir\u00ebsimi k\u00ebrkojn\u00eb q\u00eb t\u00eb rind\u00ebrtohen indekset B-tree p\u00ebr t\u00eb shfryt\u00ebzuar k\u00ebto p\u00ebrpar\u00ebsi (p.sh., <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/current\/pgupgrade.html\">pg_upgrade<\/a><\/noindex> nuk do t\u00eb rind\u00ebrtoj\u00eb indekset automatikisht). N\u00eb versionet e m\u00ebparshme t\u00eb PostgreSQL, rind\u00ebrtimi i indekseve t\u00eb m\u00ebdha n\u00eb tabela rezultonte n\u00eb nj\u00eb ndalim t\u00eb duksh\u00ebm, pasi gjat\u00eb k\u00ebsaj kohe nuk mund t\u00eb b\u00ebheshin ndryshime. Por n\u00eb PostgreSQL 12 ka edhe nj\u00eb ve\u00e7ori t\u00eb shk\u00eblqyer: tani mund t\u00eb rind\u00ebrtohen indekset paralelisht me komand\u00ebn <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/sql-reindex.html\">REINDEX CONCURRENTLY<\/a><\/noindex>, p\u00ebr t\u00eb shmangur t\u00ebr\u00ebsisht ndalimin.<\/p>\n<p><\/p>\n<p>N\u00eb PostgreSQL 12 ka p\u00ebrmir\u00ebsime t\u00eb tjera n\u00eb infrastruktur\u00ebn e indeksoh\u00ebs. Nj\u00eb tjet\u00ebr gj\u00eb ku nuk kishte munges\u00eb t\u00eb magjis\u00eb \u00ebsht\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/current\/wal-intro.html\">d\u00ebshmi e shkrimit t\u00eb parakohsh\u00ebm<\/a><\/noindex>, gjithashtu e njohur si WAL (logu i shkrimit t\u00eb parakohsh\u00ebm). Logu i shkrimit t\u00eb parakohsh\u00ebm regjistron \u00e7do transaksion n\u00eb PostgreSQL p\u00ebr rastet e d\u00ebshtimit dhe replikimit. Aplikacionet e p\u00ebrdorin at\u00eb p\u00ebr arkivimin dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/info.crunchydata.com\/blog\/pgbackrest-point-in-time-recovery-using-crunchy-postgresql-operator\">rikuperimin n\u00eb nj\u00eb moment t\u00eb caktuar<\/a><\/noindex>. Sigurisht, logu i shkrimit t\u00eb parakohsh\u00ebm shkruhet n\u00eb disk, dhe kjo mund t\u00eb ndikoj\u00eb n\u00eb performanc\u00ebn.<\/p>\n<p><\/p>\n<p>N\u00eb PostgreSQL 12, kostot p\u00ebr regjistrimet WAL, t\u00eb cilat krijohen nga indekset GiST, GIN dhe SP-GiST gjat\u00eb krijimit t\u00eb indeksit jan\u00eb reduktuar. Kjo ofron disa avantazhe t\u00eb dukshme: regjistrimet WAL z\u00ebn\u00eb m\u00eb pak hap\u00ebsir\u00eb n\u00eb disk dhe t\u00eb dh\u00ebnat riprodhohen m\u00eb shpejt, p\u00ebr shembull gjat\u00eb rikuperimit pas nj\u00eb d\u00ebshtimi ose rikuperimit n\u00eb nj\u00eb moment t\u00eb caktuar. N\u00ebse p\u00ebrdorni k\u00ebto indekse n\u00eb aplikacionet tuaja (p.sh., aplikacione gjeo-hapsinore q\u00eb p\u00ebrdorin shum\u00eb indeksin GiST), kjo \u00ebsht\u00eb nj\u00eb tjet\u00ebr ve\u00e7ori q\u00eb do t\u00eb p\u00ebrmir\u00ebsoj\u00eb ndjesh\u00ebm performanc\u00ebn e saj pa asnj\u00eb p\u00ebrpjekje nga ana juaj.<\/p>\n<p><\/p>\n<h3 id=\"sekcionirovanie--bolshe-luchshe-bystree\">Shk\u00ebputja \u2014 m\u00eb shum\u00eb, m\u00eb mir\u00eb, m\u00eb shpejt<\/h3>\n<p><\/p>\n<p>N\u00eb PostgreSQL 10 u prezantua <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/current\/ddl-partitioning.html\">shk\u00ebputja deklarative<\/a><\/noindex>. N\u00eb PostgreSQL 11 e p\u00ebrdorimi i saj u b\u00eb shum\u00eb m\u00eb i thjesht\u00eb. N\u00eb PostgreSQL 12 mund t\u00eb ndryshoni mas\u00ebn e seksioneve.<\/p>\n<p><\/p>\n<p>N\u00eb PostgreSQL 12, performanca e sistemit t\u00eb shk\u00ebputjes u p\u00ebrmir\u00ebsua ndjesh\u00ebm, ve\u00e7an\u00ebrisht n\u00ebse tabela ka mij\u00ebra seksione. P\u00ebr shembull, n\u00ebse nj\u00eb k\u00ebrkes\u00eb p\u00ebrfshin vet\u00ebm disa seksione n\u00eb nj\u00eb tabel\u00eb ku ka mij\u00ebra, ajo do t\u00eb ekzekutohet shum\u00eb m\u00eb shpejt. Performanca \u00ebsht\u00eb p\u00ebrmir\u00ebsuar jo vet\u00ebm p\u00ebr k\u00ebt\u00eb lloj k\u00ebrkese. Gjithashtu, do t\u00eb vini re se operacionet INSERT n\u00eb tabela me shum\u00eb seksione jan\u00eb p\u00ebrshpejtuar.<\/p>\n<p><\/p>\n<p>Regjistrimi i t\u00eb dh\u00ebnave me <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/current\/sql-copy.html\">COPY<\/a><\/noindex> \u2014 p\u00ebr m\u00eb tep\u00ebr, kjo \u00ebsht\u00eb nj\u00eb m\u00ebnyr\u00eb e shk\u00eblqyer <noindex><a rel=\"nofollow\" href=\"https:\/\/info.crunchydata.com\/blog\/fast-csv-and-json-ingestion-in-postgresql-with-copy\">p\u00ebr ngarkimin masiv t\u00eb t\u00eb dh\u00ebnave<\/a><\/noindex> dhe ja nj\u00eb shembull <noindex><a rel=\"nofollow\" href=\"https:\/\/info.crunchydata.com\/blog\/fast-csv-and-json-ingestion-in-postgresql-with-copy\">p\u00ebr p\u00ebrpunimin e JSON<\/a><\/noindex> \u2014 n\u00eb tabelat e ndara n\u00eb PostgreSQL 12 gjithashtu u b\u00eb m\u00eb efikase. Me COPY ishte gjithmon\u00eb e shpejt\u00eb, por tani n\u00eb PostgreSQL 12 fluturon.<\/p>\n<p><\/p>\n<p>Fal\u00eb k\u00ebtyre avantazheve, n\u00eb PostgreSQL mund t\u00eb ruani grupe t\u00eb dh\u00ebnash me nj\u00eb madh\u00ebsi edhe m\u00eb t\u00eb madhe dhe \u00ebsht\u00eb b\u00ebr\u00eb m\u00eb e leht\u00eb t'i nxirrni ato. Dhe nuk k\u00ebrkon p\u00ebrpjekje nga ana juaj. N\u00ebse aplikacioni ka shum\u00eb seksione, p\u00ebr shembull, n\u00ebse shkruan t\u00eb dh\u00ebna serike, nj\u00eb p\u00ebrmir\u00ebsim i thjesht\u00eb do t\u00eb p\u00ebrmir\u00ebsoj\u00eb ndjesh\u00ebm performanc\u00ebn e tij.<\/p>\n<p><\/p>\n<p>Dhe edhe pse ky p\u00ebrmir\u00ebsim nuk \u00ebsht\u00eb pik\u00ebrisht nga kategoria \"p\u00ebrmir\u00ebsuam dhe jemi t\u00eb lumtur\", n\u00eb PostgreSQL 12 mund t\u00eb krijoni \u00e7el\u00ebsa t\u00eb jasht\u00ebm q\u00eb i referohen tabelave t\u00eb ndara, p\u00ebr t\u00eb b\u00ebr\u00eb q\u00eb puna me shk\u00ebputjen t\u00eb jet\u00eb nj\u00eb k\u00ebnaq\u00ebsi.<\/p>\n<p><\/p>\n<h3 id=\"zaprosy-with-stali-gorazdo-luchshe\">K\u00ebrkesat WITH jan\u00eb b\u00ebr\u00eb shum\u00eb m\u00eb t\u00eb mira<\/h3>\n<p><\/p>\n<p>Kur <noindex><a rel=\"nofollow\" href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commitdiff;h=608b167f9f9c4553c35bb1ec0eab9ddae643989b\">u aplikua nj\u00eb patch p\u00ebr shprehjet e p\u00ebrgjithshme t\u00eb integruara t\u00eb tabelave<\/a><\/noindex> (t\u00eb njohura gjithashtu si CTE, ata gjithashtu k\u00ebrkesat WITH), isha n\u00eb pritje p\u00ebr t\u00eb shkruar nj\u00eb artikull mbi <noindex><a rel=\"nofollow\" href=\"https:\/\/info.crunchydata.com\/blog\/with-queries-present-future-common-table-expressions\">si u g\u00ebzuan zhvilluesit e aplikacioneve me PostgreSQL.<\/a><\/noindex>Kjo \u00ebsht\u00eb nj\u00eb nga ato ve\u00e7ori q\u00eb do e shpejtojn\u00eb aplikacionin. N\u00ebse, sigurisht, p\u00ebrdorni CTE.<\/p>\n<p><\/p>\n<p>Un\u00eb shpesh v\u00eb re se fillestar\u00ebt n\u00eb SQL p\u00eblqejn\u00eb t\u00eb p\u00ebrdorin CTE: n\u00ebse i shkruani ata n\u00eb nj\u00eb m\u00ebnyr\u00eb t\u00eb caktuar, e ndjeni q\u00eb po shkruani nj\u00eb program imperativ. Personalish, m\u00eb p\u00eblqente t\u00eb riformuloja k\u00ebto pyetje p\u00ebr t'u ankuar <em>pa<\/em> CTE dhe p\u00ebr t\u00eb p\u00ebrmir\u00ebsuar performanc\u00ebn. Tani gj\u00ebrat jan\u00eb ndryshe.<\/p>\n<p><\/p>\n<p>PostgreSQL 12 lejon integrimin e nj\u00eb lloji t\u00eb caktuar t\u00eb CTE pa efekte an\u00ebsore (<code>SELECT<\/code>), i cili p\u00ebrdoret vet\u00ebm nj\u00eb her\u00eb m\u00eb af\u00ebr fundit t\u00eb pyetjes. N\u00ebse do t\u00eb mbaja statistika t\u00eb pyetjeve me CTE q\u00eb kam riformuluar, shumica e tyre do t\u00eb binin n\u00eb k\u00ebt\u00eb kategori. Kjo ndihmon zhvilluesit t\u00eb shkruajn\u00eb kod t\u00eb kuptuesh\u00ebm, i cili tani funksionon shpejt gjithashtu.<\/p>\n<p><\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr, PostgreSQL 12 optimizon vet\u00eb ekzekutimin e SQL, nuk do t'ju duhet t\u00eb b\u00ebni asgj\u00eb. Dhe ndon\u00ebse tani, ndoshta, nuk do t\u00eb kem nevoj\u00eb t\u00eb optimizoj k\u00ebto k\u00ebrkesa, \u00ebsht\u00eb e shk\u00eblqyer q\u00eb PostgreSQL vazhdon t\u00eb punoj\u00eb n\u00eb optimizimin e pyetjeve.<\/p>\n<p><\/p>\n<h3 id=\"just-in-time-jit--teper-po-umolchaniyu\">Just-in-Time (JIT) \u2014 tani \u00ebsht\u00eb default<\/h3>\n<p><\/p>\n<p>N\u00eb sistemet PostgreSQL 12 me mb\u00ebshtetje <noindex><a rel=\"nofollow\" href=\"https:\/\/llvm.org\/\">LLVM<\/a><\/noindex> Kompilimi JIT \u00ebsht\u00eb aktivizuar si standard. S\u00eb pari, ju merrni mb\u00ebshtetje <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/current\/jit.html\">JIT<\/a><\/noindex> p\u00ebr disa operacione t\u00eb brendshme, dhe s\u00eb dyti, pyetjet me shprehje (shembulli m\u00eb i thjesht\u00eb \u2014 x + y) n\u00eb listat e zgjedhjes (t\u00eb cilat keni pasur pas SELECT), agregate, shprehje me kushtet WHERE dhe t\u00eb tjera mund t\u00eb p\u00ebrdorin JIT p\u00ebr t\u00eb rritur performanc\u00ebn.<\/p>\n<p><\/p>\n<p>Duke qen\u00eb se JIT \u00ebsht\u00eb aktivizuar n\u00eb PostgreSQL 12 si standard, performanca do t\u00eb p\u00ebrmir\u00ebsohet vet\u00eb, por un\u00eb rekomandoj t\u00eb testoni aplikacionin n\u00eb PostgreSQL 11, ku sapo kishte dal\u00eb JIT, p\u00ebr t\u00eb matur performanc\u00ebn e pyetjeve dhe p\u00ebr t\u00eb par\u00eb n\u00ebse duhet t\u00eb b\u00ebni ndonj\u00eb konfigurim.<\/p>\n<p><\/p>\n<h3 id=\"a-kak-zhe-ostalnye-novye-fichi-postgresql-12\">E \u00e7far\u00eb do t\u00eb ndodh\u00eb me karakteristikat e tjera t\u00eb reja t\u00eb PostgreSQL 12?<\/h3>\n<p><\/p>\n<p>N\u00eb PostgreSQL 12 ka shum\u00eb karakteristika t\u00eb reja interesante \u2014 nga mund\u00ebsia p\u00ebr t\u00eb eksploruar t\u00eb dh\u00ebnat JSON duke p\u00ebrdorur shprehjet standarde t\u00eb rrug\u00ebs SQL\/JSON deri te autentifikimi me shum\u00eb faktor me parametrin <code>clientcert=verify-full<\/code>, kolona t\u00eb krijuara dhe shum\u00eb t\u00eb tjera. Mjafton p\u00ebr nj\u00eb postim t\u00eb ve\u00e7ant\u00eb.<\/p>\n<p><\/p>\n<p>Ashtu si PostgreSQL 10, PostgreSQL 12 do t\u00eb rris\u00eb performanc\u00ebn e p\u00ebrgjithshme menj\u00ebher\u00eb pas p\u00ebrmir\u00ebsimit. Sigurisht, mund t\u00eb keni rrug\u00ebn tuaj \u2014 testoni aplikacionin n\u00eb kushte t\u00eb ngjashme n\u00eb sistemin n\u00eb pun\u00eb p\u00ebrpara se t\u00eb aktivizoni p\u00ebrmir\u00ebsimet, si\u00e7 kam b\u00ebr\u00eb un\u00eb me PostgreSQL 10. Edhe n\u00ebse PostgreSQL 12 tani \u00ebsht\u00eb m\u00eb stabil sesa e kisha pritur, mos u dor\u00ebzoni p\u00ebr t\u00eb testuar me kujdes aplikacionet para se t'i publikoni n\u00eb prodhim.<\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/466727\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>PostgreSQL 12, \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u00ab\u043b\u0443\u0447\u0448\u0435\u0439 \u0432 \u043c\u0438\u0440\u0435 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c\u00bb, \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0440\u0443-\u0442\u0440\u043e\u0439\u043a\u0443 \u043d\u0435\u0434\u0435\u043b\u044c (\u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u043f\u043e\u0439\u0434\u0435\u0442 \u043f\u043e \u043f\u043b\u0430\u043d\u0443). \u042d\u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0431\u044b\u0447\u043d\u043e\u043c\u0443 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u2014 \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0441 \u0443\u0439\u043c\u043e\u0439 \u043d\u043e\u0432\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0440\u0430\u0437 \u0432 \u0433\u043e\u0434, \u0438, \u0447\u0435\u0441\u0442\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u044d\u0442\u043e \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u044f\u0435\u0442. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0438 \u0441\u0442\u0430\u043b \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c \u0447\u043b\u0435\u043d\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 PostgreSQL. \u041f\u043e-\u043c\u043e\u0435\u043c\u0443, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28500,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37975","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/apgrejd-dlya-lenivyh-kak-postgresql-12-povyshaet-proizvoditelnost\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0410\u043f\u0433\u0440\u0435\u0439\u0434 \u0434\u043b\u044f \u043b\u0435\u043d\u0438\u0432\u044b\u0445: \u043a\u0430\u043a PostgreSQL 12 \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/apgrejd-dlya-lenivyh-kak-postgresql-12-povyshaet-proizvoditelnost\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:56+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47P\u00ebrmir\u00ebsimi p\u00ebr t\u00eb lenjt\u00eb: si PostgreSQL 12 rrit efikasitetin | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/apgrejd-dlya-lenivyh-kak-postgresql-12-povyshaet-proizvoditelnost","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0410\u043f\u0433\u0440\u0435\u0439\u0434 \u0434\u043b\u044f \u043b\u0435\u043d\u0438\u0432\u044b\u0445: \u043a\u0430\u043a PostgreSQL 12 \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c | ProHoster","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/apgrejd-dlya-lenivyh-kak-postgresql-12-povyshaet-proizvoditelnost","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:56+00:00","article:modified_time":"2019-10-31T19:20:56+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37975","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:59:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:17:22","updated":"2026-01-23 19:59:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/37975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=37975"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/37975\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/28500"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=37975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=37975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=37975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}