PostgreSQL

Sagteware kiekie:
PostgreSQL
Sagteware besonderhede:
Weergawe: 10.5 / 11 Beta 3 Opgedateer
Upload datum: 16 Aug 18
Lisensie: Gratis
Populariteit: 29

Rating: 1.5/5 (Total Votes: 2)

PostgreSQL is 'n oop bron, kragtige, betroubare, stabiele, ondernemingsklare en gratis objek-verhouding databasis stelsel in die styl van MariaDB, MySQL of SQLite projekte. Dit is 'n ACID (Atomicity, Consistency, Isolation, Durability) voldoen databasis bediener / enjin wat baie aangepas kan word en sluit talle aantreklike funksies in, wat 'n goeie vervanging vir die genoemde databasis enjins maak.


Funksies in 'n oogopslag

Belangrike kenmerke sluit in ondersteuning vir vreemde sleutels, kyke, verbindings, snellers en gestoor prosedures, ondersteuning vir verskeie tale, ondersteuning vir 'n wye verskeidenheid SQL data tipes, insluitend BOOLEAN, CHAR, INTEGER, NUMERIC, VARCHAR, INTERVAL, TIMESTAMP en DATUM.

Daarbenewens bevat die sagteware ondersteuning vir die berging van binêre groot voorwerpe, insluitend allerhande multimedia lêers (video, klank en foto), en bied ontwikkelaars inheemse programmeringsvlakke vir die C, C + +, Python, Perl, Ruby, Java, .Net, Tcl en ODBC programmeringstale.

Onder andere interessante kenmerke kan ons MVCC (Multi-Version Concurrency Control) noem, tafelspasies, multibyte karakterkodering, tydstip herstel, 'n volwasse navraag optimizer en beplanner, asynchroniese replikasie, aanlyn rugsteun, geneste transaksies (algemeen bekend as reddingspunte), warm rugsteun, skryf voorskot vir fouttoleransie, ondersteuning vir internasionale karakterstelle, sowel as Unicode-ondersteuning.


PostgreSQL in getalle

Op die oomblik ondersteun die PostgreSQL databasis bediener onbeperkte grootte vir databasisse, 32 TB moet die maksimum grootte vir tafels wees, 1,6 TB per ry, 1 GB per veld, onbeperkte rye per tabel, ondersteun tussen 250 en 1600 kolomme per tabel , afhangende van kolom tipes, en ondersteun onbeperkte indekse per tabel.


Ondersteunde bedryfstelsels

Die PostgreSQL is suksesvol getoets op alle hoofstroom bedryfstelsels, waaronder GNU / Linux, BSD, Solaris, HP-UX, AIX, SGI IRIX, Solaris, Tru64, Mac OS X en Microsoft Windows. PostgreSQL is beskikbaar vir aflaai as 'n universele bron argief, sowel as voorverpakte binêre pakkette vir baie Linux-verspreidings, wat beide 32-bis en 64-bis-argitekture ondersteun.

Wat is nuut in hierdie weergawe:

  • Met hierdie weergawe word twee sekuriteit probleme opgelos. Hierdie uitgawe regstel ook probleme wat met die VACUUM-, GIN & hash-indekse, parallelle navraag, logiese replisering en ander foute wat die afgelope drie maande gerapporteer is, opgelos. Alle gebruikers wat die betrokke weergawes van PostgreSQL gebruik, moet so gou as moontlik bywerk.

Wat is nuut in weergawe 10.4 / 11 Beta 1:

  • Met hierdie weergawe word twee sekuriteitsprobleme opgelos. Hierdie uitgawe regstel ook probleme wat met die VACUUM-, GIN & hash-indekse, parallelle navraag, logiese replisering en ander foute wat die afgelope drie maande gerapporteer is, opgelos. Alle gebruikers wat die betrokke weergawes van PostgreSQL gebruik, moet so gou as moontlik bywerk.

Wat is nuut in weergawe:

  • Verdere beperking van die sigbaarheid van pg_user_mappings.umoptions, om wagwoorde te beskerm wat gestoor is as gebruikers kartering opsies (Noah Misch)
  • Die oplossing vir CVE-2017-7486 was verkeerd: dit het 'n gebruiker toegelaat om die opsies te sien in haar eie gebruikersgradering, selfs al het sy GEEN toestemming op die geassosieerde buitelandse bediener gehad nie. Sulke opsies kan 'n wagwoord insluit wat deur die bediener eienaar eerder as die gebruiker self verskaf is. Aangesien information_schema.user_mapping_options nie die opsies in sulke gevalle toon nie, moet pg_user_mappings ook nie. (CVE-2017-7547)
  • Hierdie pleister sal op sigself slegs die gedrag regstel in nuut aanvanklike databasisse. As u hierdie verandering in 'n bestaande databasis wil toepas, moet u die volgende doen:
  • Herbegin die posmeester nadat toevoeging permission_system_table_mods = true to postgresql.conf. (In weergawes wat ALTER SYSTEM ondersteun, kan jy dit gebruik om die konfigurasie te verander, maar jy sal nog 'n herbegin nodig hê.)
  • In elke databasis van die groep, voer die volgende opdragte as supergebruiker uit:
  • Stel search_path = pg_catalog;
  • CREATE OF VERVANG VIEW pg_user_mappings AS
  • Kies
  • U.oid AS umid,
  • S.oid AS srvid,
  • S.srvname AS srvname,
  • U.umuser AS omuser,
  • GEVAL WANNEER U.UMUSER = 0 DAAR
  • 'n openbare "
  • NÓG
  • A.rolname
  • EIND AS username,
  • GEVAL WANNEER (U.gebruiker 0 EN A.rolnaam = huidige_gebruiker
  • EN (pg_has_role (S.srvowner, 'USAGE')
  • OF het_server_privilege (S.oid, 'USAGE')))
  • OF (U.umuser = 0 EN pg_has_role (S.srvowner, 'USAGE'))
  • OF (SELECT rolsuper FROM pg_authid WHERE rolnaam = huidige_gebruiker)
  • THAN U.umoptions
  • ELSE NULL END AS omopties
  • UIT pg_user_mapping U
  • LEFT JOIN pg_authid A ON (A.oid = U.umuser) BYLAE
  • pg_foreign_server S ON (U.umserver = S.oid);
  • Moenie vergeet om die template0 en template1 databasisse in te sluit nie, of die kwesbaarheid sal nog bestaan ​​in databasisse wat jy later skep. Om template0 op te los, moet jy tydelik verbindings aanvaar. In PostgreSQL 9.5 en later kan u
  • gebruik
  • ALTER DATABASE template0 met TOEKENNINGS waardes;
  • en dan nadat jy template0 bevestig het, maak dit ongedaan met
  • ALTER DATABASE template0 MET ALLOW_CONNECTIONS false;
  • Gebruik eerder in vorige weergawes
  • UPDATE pg_database SET dataallowconn = waar WHERE datname = 'template0';
  • UPDATE pg_database SET dataallowconn = false WHERE datname = 'template0';
  • Uiteindelik, verwyder die config_set_system_table_mods-instellings en herbegin die posmeester weer.
  • Laat leë wagwoorde in alle wagwoordgebaseerde verifikasiemetodes (Heikki Linnakangas) toe.
  • libpq ignoreer leë wagwoordspesifikasies en stuur dit nie na die bediener nie. Dus, as 'n gebruiker se wagwoord op die leë string ingestel is, is dit onmoontlik om met daardie wagwoord aan te meld via psql of ander libpq-gebaseerde kliënte. 'N Administrateur kan dus glo dat die instelling van die wagwoord om te leeg is, gelykstaande is aan die aanskakel van wagwoord-aanmelding. Met 'n aangepaste of nie-libpq-gebaseerde kliënt kan u egter aanmeld, afhangende van watter verifikasie metode ingestel is. In die besonder het die mees algemene metode, md5, leë wagwoorde aanvaar. Verander die bediener om leë wagwoorde in alle gevalle te verwerp. (CVE-2017-7546)
  • Maak lo_put () kontroleer vir UPDATE-voorreg op die teiken groot voorwerp (Tom Lane, Michael Paquier)
  • lo_put () moet sekerlik dieselfde toestemmings as lowrite () hê, maar die tjek is ontbreek, sodat enige gebruiker die data in 'n groot voorwerp kan verander. (CVE-2017-7548)
  • Korrigeer die dokumentasie oor die proses vir die opgradering van standby-bedieners met pg_upgrade (Bruce Momjian)
  • Die vorige dokumentasie het gebruikers opdrag gegee om die primêre bediener te begin / stop nadat hulle pg_upgrade uitgevoer het, maar voordat die standby-bedieners gesinkroniseer is. Hierdie volgorde is onveilig.
  • Bevestig gelyktydige sluit van tuple-opdateringskettings (Alvaro Herrera)
  • As 'n aantal sessies gelyktydig 'n tuple-opdateringsketting sluit met 'n nie-konvensionele slotmodus deur 'n ou foto te gebruik, en hulle almal slaag, was dit moontlik dat sommige van hulle nogtans misluk (en tot die gevolgtrekking is dat daar geen lewende tuple-weergawe is nie) as gevolg van 'n wedloop toestand. Dit het gevolge gehad soos buitelandse sleutel tjeks wat nie 'n tuple sien wat beslis bestaan ​​nie, maar word gelyktydig opgedateer.
  • Bevestig moontlike data-korrupsie by die bevriesing van 'n tupel waarvan die XMAX 'n multixact is met presies een interessante persoon (Teodor Sigaev)
  • Vermy integeroorloop en gevolglike ongeluk wanneer meer as een biljoen tuimels in geheue gesorteer word (Sergey Koposov)
  • In Windows, probeer die proses skepping as ons nie die adresreeks vir ons gedeelde geheue in die nuwe proses (Tom Lane, Amit Kapila) behou nie.
  • Daar word verwag dat seldsame foute vir die verwerking van kinderprosesse reggestel word, wat waarskynlik die gevolg is van inmenging van antivirusprodukte.
  • Korreksie van lae waarskynlikheid van gedeelde predikaat-lock hash-tabel in Windows-geboue (Thomas Munro, Tom Lane).
  • Vermy die skoon sluiting van 'n SSL-verbinding asof dit 'n verbindingsterugstelling was (Michael Paquier).
  • Voorkom die stuur van SSL sessie kaartjies aan kliënte (Tom Lane)
  • Hierdie regstelling voorkom dat heraansluitingsfoute met die kaartjiebewus kliënt se SSL kode voorkom.
  • Bevestig kode vir die opstel van tcp_keepalives_idle op Solaris (Tom Lane)
  • Stel statistiese versamelaar vas om navraag boodskappe uit te reik net na 'n posmeesterstop en onmiddellike herlaai (Tom Lane)
  • Statistiese navrae wat binne 'n half sekonde van die vorige posmeesterstaking uitgereik is, is effektief geïgnoreer.
  • Maak seker dat die buffergrootte van die statistieke versamelaar ten minste 100KB (Tom Lane) is
  • Dit verminder die risiko om statistiese data op ouer platforms te laat val, waarvan die standaard buffer grootte minder is.
  • Bevestig moontlike skepping van 'n ongeldige WAL-segment wanneer 'n standby bevorder word sodra dit 'n XLOG_SWITCH WAL-rekord verwerk (Andres Freund)
  • Fix walsender om vinnig te verlaat wanneer die kliënt versoeke afsluit (Tom Lane)
  • Beheer SIGHUP- en SIGUSR1-hantering in walsender-prosesse (Petr Jelinek, Andres Freund)
  • Voorkom walsender-geaktiveerde paniek tydens afsluitkontrolepunte (Andres Freund, Michael Paquier)
  • Onnodig stadig herstel van walreceiver prosesse weens rasse toestand in posmeester (Tom Lane).
  • Los lekkasie op van klein subtransaksies wat tydens die logiese dekodering (Andres Freund) op skyf gestort word.
  • Dit het daartoe gelei dat tydelike lêers oormatige skyfspasie gebruik.
  • Verminder die werk wat nodig is om snapshots te skep tydens die skep van logiese-dekodering-slots (Andres Freund, Petr Jelinek)
  • Die vorige algoritme was onmoontlik duur op 'n bediener met baie oop transaksies.
  • Bevestig wedloopstoestand wat onbepaald die vertraging van die skep van logiese-dekodering-slots (Andres Freund, Petr Jelinek) kan uitstel.
  • Verlaag die bokoste in die verwerking van sypsak-ongeldigheidsgebeurtenisse (Tom Lane)
  • Dit is veral handig vir logiese dekodering, wat gereelde buffer ongeldig maak.
  • Verwyder foutiewe heuristiese gebruik wat in sommige gevalle gebruik word om saamwerk selektiwiteit te skat, gebaseer op die teenwoordigheid van vreemde sleutelbeperkings (David Rowley)
  • In sommige gevalle waar 'n vreemde sleutelbeperking van verskeie kolomme bestaan ​​het, maar nie presies ooreenstem met die navraagstruktuur van 'n navraag nie, het die beplanner 'n beramingshuristiek gebruik wat blyk dat dit glad nie goed werk nie. Herstel sulke gevalle soos dit geskat is voor 9.6.
  • Bevestig gevalle waar 'n INSERT of UPDATE aan meer as een element van 'n kolom toeken, wat van die tipe oor-skikking is (Tom Lane)
  • Laat vensterfunksies toe in sub-SELECTs wat binne die argumente van 'n totale funksie (Tom Lane) is.
  • Maak seker dat 'n kyk se KONTROLEKSIES-klousule behoorlik afgedwing word wanneer die onderliggende tabel 'n buitelandse tabel is (Etsuro Fujita)
  • Voorheen kan die opdatering heeltemal na die buitelandse bediener gedruk word, maar die behoefte om die vertoningstoestande te verifieer, is asb. gemis.
  • Beweeg outo-geverifieerde skikkingstipes uit die weg tydens ALTER ... RENAME (Vik Fearing)
  • Voorheen sou ons die naam van 'n teenstrydige outonomeer-tipe skikking uit die weg ruim tydens CREATE; Hierdie regstelling brei daardie gedrag uit na die herbenaming van bedrywighede.
  • Vaste skrikwyser in ALTER TABLE wanneer daar 'n opmerking is oor 'n beperking wat aan die tafel behoort (David Rowley)
  • Die reaksie van die kommentaar op die gerekonstrueerde beperking kan misluk met 'n vreemde foutboodskap of selfs ongeluk.
  • Maak seker dat ALTER USER ... SET al die sintaksvariante aanvaar wat ALTER ROLE ... SET doen (Peter Eisentraut)
  • Laat 'n buitelandse tabel se CONTROL-beperkings aanvanklik NIE geldig wees nie (Amit Langote)
  • CREATE TABLE stilte val NIE GELDIGE spesifikators vir CHECK-beperkings nie, en redeneer dat die tafel leeg moet wees sodat die beperking dadelik gevalideer kan word. Maar dit is verkeerd vir CREATE BUITELANDSE TABEL, waar daar geen rede is om te veronderstel dat die onderliggende tafel leeg is nie, en selfs as dit nie van ons is om te besluit dat die beperking as geldig beskou kan word nie. Slaan hierdie "optimalisering" oor vir buitelandse tafels.
  • Verskaf afhanklikheids inligting korrek by die verandering van 'n data-tipe I / O-funksie se argument of retour-tipe van ondeursigtig na die korrekte tipe (Heikki Linnakangas)
  • CREATE TYPE-opdaterings-I / O-funksies wat in hierdie langverouderde styl verklaar is, maar dit het vergeet om 'n afhanklikheid van die tipe op te neem, sodat 'n daaropvolgende DROP TYPE agtergebroke funksiedefinisies agterbly.
  • Laat parallelisme toe in die navraagplan wanneer COPY kopieë van die resultaat van 'n navraag (Andres Freund)
  • Verminder geheueverbruik wanneer ANALYZE 'n tsvektor-kolom (Heikki Linnakangas) verwerk
  • Bevestig onnodige presisieverlies en slordige afronding wanneer jy geldwaardes verdubbel of verdeel deur heelgetalle of vlote (Tom Lane)
  • Kontroleer vir witspasie in funksies wat identifiseerders ontleed, soos regprocedurein () (Tom Lane)
  • Afhangende van die heersende land, kan hierdie funksies fragmente van multibyte karakters as witspasie mislees.
  • Gebruik relevante #define simbole van Perl terwyl jy PL / Perl (Ashutosh Sharma, Tom Lane) saamstel
  • Dit vermy oordraagbaarheidsprobleme, wat tipies manifesteer as 'n "handdruk" Wanpassing tydens biblioteeklading, wanneer u met onlangse Perl-weergawes werk.
  • In libpq, herstel die GSS / SASL en SSPI-verifikasietoestand behoorlik na 'n mislukte konneksiepoging (Michael Paquier)
  • As u dit nie doen nie, beteken dit dat die terugval van SSL na nie-SSL-verbindings terugval, as gevolg van 'n GSS / SASL-mislukking in die SSL-poging, altyd veroorsaak dat die nie-SSL-poging om te misluk. SSPI het nie gefaal nie, maar dit het geheue gelek.
  • In psql, maak fout as KOPIE VAN STDIN geëindig word met 'n EOF-sleutelbord en dan word 'n ander COPY FROM STDIN probeer (Thomas Munro)
  • Hierdie wangedrag is waargeneem op BSD-afgeleide platforms (insluitend MacOS), maar nie op die meeste ander nie.
  • Fix pg_dump en pg_restore om REFRESH MATERIALIZED VIEW opdragte uit te stuur (Tom Lane)
  • Dit voorkom dat foute tydens dump / herstel herstel word wanneer 'n gematerialiseerde vertoning na tafels in besit van 'n ander gebruiker verwys.
  • Verbeter pg_dump / pg_restore se rapportering van foutvoorwaardes wat uit zlib kom (Vladimir Kunschikov, Alvaro Herrera)
  • Fix pg_dump met die - opsie om gebeurtenisuitdrukkers soos verwag te laat val (Tom Lane)
  • Dit gee nou ook die eienaarskap van geleentheidstellers reg toe. voorheen is hulle herstel as wat die eiendom van die supergebruiker besit wat die herstelskrip uitgevoer het.
  • Fix pg_dump met die - opsie om nie te misluk wanneer die openbare skema nie bestaan ​​nie (Stephen Frost)
  • Bevestig pg_dump om nie ongeldige SQL uit te stuur vir 'n leë operatorklas nie (Daniel Gustafsson)
  • Bevestig pg_dump-uitvoer na stdout op Windows (Kuntal Ghosh)
  • 'n Gekomprimeerde gewone teks dump wat na stdout geskryf is, sal korrupte data bevat weens die versuim om die lêerbeskrywer in binêre modus te plaas.
  • Fix pg_get_ruledef () om die korrekte uitset vir die ON SELECT-reël van 'n aansig te wys wie se kolomme hernoem is (Tom Lane)
  • In sommige hoekgevalle is pg_dump afhanklik van pg_get_ruledef () om uitsigte te dump, sodat hierdie fout kan lei tot mislukking / herlaai van foute.
  • Bevestig die storting van die buitenste verbindings met leë beperkinge, soos die gevolg van 'n NATUURLIKE LEFT-GEMEENSKAP met geen gewone kolomme (Tom Lane) nie.
  • Bevestig die dumping van funksie uitdrukkings in die FROM-klousule in gevalle waar die uitdrukking nie afbreek in iets wat lyk soos 'n funksieoproep (Tom Lane)
  • Herstel pg_basebackup uitvoer na stdout op Windows (Haribabu Kommi)
  • 'n Rugsteun wat na stdout geskryf is, bevat korrupte data as gevolg van die versuim om die lêerbeskrywer in binêre modus te plaas.
  • Stel pg_rewind reg om lêers wat 2GB oorskry, goed te hanteer (Kuntal Ghosh, Michael Paquier)
  • Gewoonlik sal sulke lêers nie in die PostgreSQL data-dopgehou verskyn nie, maar hulle kan in sommige gevalle teenwoordig wees.
  • Bevestig pg_upgrade om te verseker dat die eindige WAL-rekord nie wal_level = minimum het nie (Bruce Momjian)
  • Hierdie voorwaarde kan verhoed dat opgegradeerde standby-bedieners weer konnekteer.
  • Fix pg_xlogdump se berekening van WAL-rekordlengte (Andres Freund)
  • In postgres_fdw herstel verbindings na afgeleë bedieners na ALTER SERVER of ALTER USER MAPPING opdragte (Kyotaro Horiguchi)
  • Dit verseker dat opsie veranderings wat die verbindingsparameters raak, onmiddellik toegepas sal word.
  • In postgres_fdw, laat die kansellasie van eksterne transaksiebeheer opdragte (Robert Haas, Rafia Sabih) toe
  • Hierdie verandering stel ons in staat om vinnig te ontsnap aan 'n wag vir 'n reageer eksterne bediener in baie gevalle as voorheen.
  • Verhoog MAX_SYSCACHE_CALLBACKS om meer ruimte vir uitbreidings te bied (Tom Lane)
  • Gebruik altyd -fPIC, nie-fpic, wanneer gedeelde biblioteke met gcc (Tom Lane) gebou word
  • Dit ondersteun groter uitbreidingsbiblioteke op platforms waar dit 'n verskil maak.
  • In MSVC bou, hanteer die geval waar die openssl biblioteek nie binne 'n VC subdirectory (Andrew Dunstan) is nie.
  • In MSVC bou, voeg behoorlike sluit pad vir libxml2 header lêers (Andrew Dunstan)
  • Hiermee word 'n vroeëre behoefte om dinge rond te skuif in standaard Windows-installasies van libxml2.
  • In MSVC bou, herken 'n Tcl biblioteek wat tcl86.lib (Noah Misch) genoem word
  • In MSVC bou, eer PROVE_FLAGS instellings op vcregress.pl se bevellyn (Andrew Dunstan)

Wat is nuut in weergawe 9.6.4:

  • Verdere beperking van die sigbaarheid van pg_user_mappings.umoptions, om wagwoorde te beskerm wat gestoor is as gebruikers kartering opsies (Noah Misch)
  • Die oplossing vir CVE-2017-7486 was verkeerd: dit het 'n gebruiker toegelaat om die opsies te sien in haar eie gebruikersgradering, selfs al het sy GEEN toestemming op die geassosieerde buitelandse bediener gehad nie. Sulke opsies kan 'n wagwoord insluit wat deur die bediener eienaar eerder as die gebruiker self verskaf is. Aangesien information_schema.user_mapping_options nie die opsies in sulke gevalle toon nie, moet pg_user_mappings ook nie. (CVE-2017-7547)
  • Hierdie pleister sal op sigself slegs die gedrag regstel in nuut aanvanklike databasisse. As u hierdie verandering in 'n bestaande databasis wil toepas, moet u die volgende doen:
  • Herbegin die posmeester nadat toevoeging permission_system_table_mods = true to postgresql.conf. (In weergawes wat ALTER SYSTEM ondersteun, kan jy dit gebruik om die konfigurasie te verander, maar jy sal nog 'n herbegin nodig hê.)
  • In elke databasis van die groep, voer die volgende opdragte as supergebruiker uit:
  • Stel search_path = pg_catalog;
  • CREATE OF VERVANG VIEW pg_user_mappings AS
  • Kies
  • U.oid AS umid,
  • S.oid AS srvid,
  • S.srvname AS srvname,
  • U.umuser AS omuser,
  • GEVAL WANNEER U.UMUSER = 0 DAAR
  • 'n openbare "
  • NÓG
  • A.rolname
  • EIND AS username,
  • GEVAL WANNEER (U.gebruiker 0 EN A.rolnaam = huidige_gebruiker
  • EN (pg_has_role (S.srvowner, 'USAGE')
  • OF het_server_privilege (S.oid, 'USAGE')))
  • OF (U.umuser = 0 EN pg_has_role (S.srvowner, 'USAGE'))
  • OF (SELECT rolsuper FROM pg_authid WHERE rolnaam = huidige_gebruiker)
  • THAN U.umoptions
  • ELSE NULL END AS omopties
  • UIT pg_user_mapping U
  • LEFT JOIN pg_authid A ON (A.oid = U.umuser) BYLAE
  • pg_foreign_server S ON (U.umserver = S.oid);
  • Moenie vergeet om die template0 en template1 databasisse in te sluit nie, of die kwesbaarheid sal nog bestaan ​​in databasisse wat jy later skep. Om template0 op te los, moet jy tydelik verbindings aanvaar. In PostgreSQL 9.5 en later kan u
  • gebruik
  • ALTER DATABASE template0 met TOEKENNINGS waardes;
  • en dan nadat jy template0 bevestig het, maak dit ongedaan met
  • ALTER DATABASE template0 MET ALLOW_CONNECTIONS false;
  • Gebruik eerder in vorige weergawes
  • UPDATE pg_database SET dataallowconn = waar WHERE datname = 'template0';
  • UPDATE pg_database SET dataallowconn = false WHERE datname = 'template0';
  • Uiteindelik, verwyder die config_set_system_table_mods-instellings en herbegin die posmeester weer.
  • Laat leë wagwoorde in alle wagwoordgebaseerde verifikasiemetodes (Heikki Linnakangas) toe.
  • libpq ignoreer leë wagwoordspesifikasies en stuur dit nie na die bediener nie. Dus, as 'n gebruiker se wagwoord op die leë string ingestel is, is dit onmoontlik om met daardie wagwoord aan te meld via psql of ander libpq-gebaseerde kliënte. 'N Administrateur kan dus glo dat die instelling van die wagwoord om te leeg is, gelykstaande is aan die aanskakel van wagwoord-aanmelding. Met 'n aangepaste of nie-libpq-gebaseerde kliënt kan u egter aanmeld, afhangende van watter verifikasie metode ingestel is. In die besonder het die mees algemene metode, md5, leë wagwoorde aanvaar. Verander die bediener om leë wagwoorde in alle gevalle te verwerp. (CVE-2017-7546)
  • Maak lo_put () kontroleer vir UPDATE-voorreg op die teiken groot voorwerp (Tom Lane, Michael Paquier)
  • lo_put () moet sekerlik dieselfde toestemmings as lowrite () hê, maar die tjek is ontbreek, sodat enige gebruiker die data in 'n groot voorwerp kan verander. (CVE-2017-7548)
  • Korrigeer die dokumentasie oor die proses vir die opgradering van standby-bedieners met pg_upgrade (Bruce Momjian)
  • Die vorige dokumentasie het gebruikers opdrag gegee om die primêre bediener te begin / stop nadat hulle pg_upgrade uitgevoer het, maar voordat die standby-bedieners gesinkroniseer is. Hierdie volgorde is onveilig.
  • Bevestig gelyktydige sluit van tuple-opdateringskettings (Alvaro Herrera)
  • As 'n aantal sessies gelyktydig 'n tuple-opdateringsketting sluit met 'n nie-konvensionele slotmodus deur 'n ou foto te gebruik, en hulle almal slaag, was dit moontlik dat sommige van hulle nogtans misluk (en tot die gevolgtrekking is dat daar geen lewende tuple-weergawe is nie) as gevolg van 'n wedloop toestand. Dit het gevolge gehad soos buitelandse sleutel tjeks wat nie 'n tuple sien wat beslis bestaan ​​nie, maar word gelyktydig opgedateer.
  • Bevestig moontlike data-korrupsie by die bevriesing van 'n tupel waarvan die XMAX 'n multixact is met presies een interessante persoon (Teodor Sigaev)
  • Vermy integeroorloop en gevolglike ongeluk wanneer meer as een biljoen tuimels in geheue gesorteer word (Sergey Koposov)
  • In Windows, probeer die proses skepping as ons nie die adresreeks vir ons gedeelde geheue in die nuwe proses (Tom Lane, Amit Kapila) behou nie.
  • Daar word verwag dat seldsame foute vir die verwerking van kinderprosesse reggestel word, wat waarskynlik die gevolg is van inmenging van antivirusprodukte.
  • Korreksie van lae waarskynlikheid van gedeelde predikaat-lock hash-tabel in Windows-geboue (Thomas Munro, Tom Lane).
  • Vermy die skoon sluiting van 'n SSL-verbinding asof dit 'n verbindingsterugstelling was (Michael Paquier).
  • Voorkom die stuur van SSL sessie kaartjies aan kliënte (Tom Lane)
  • Hierdie regstelling voorkom dat heraansluitingsfoute met die kaartjiebewus kliënt se SSL kode voorkom.
  • Bevestig kode vir die opstel van tcp_keepalives_idle op Solaris (Tom Lane)
  • Stel statistiese versamelaar vas om navraag boodskappe uit te reik net na 'n posmeesterstop en onmiddellike herlaai (Tom Lane)
  • Statistiese navrae wat binne 'n half sekonde van die vorige posmeesterstaking uitgereik is, is effektief geïgnoreer.
  • Maak seker dat die buffergrootte van die statistieke versamelaar ten minste 100KB (Tom Lane) is
  • Dit verminder die risiko om statistiese data op ouer platforms te laat val, waarvan die standaard buffer grootte minder is.
  • Bevestig moontlike skepping van 'n ongeldige WAL-segment wanneer 'n standby bevorder word sodra dit 'n XLOG_SWITCH WAL-rekord verwerk (Andres Freund)
  • Fix walsender om vinnig te verlaat wanneer die kliënt versoeke afsluit (Tom Lane)
  • Beheer SIGHUP- en SIGUSR1-hantering in walsender-prosesse (Petr Jelinek, Andres Freund)
  • Voorkom walsender-geaktiveerde paniek tydens afsluitkontrolepunte (Andres Freund, Michael Paquier)
  • Onnodig stadig herstel van walreceiver prosesse weens rasse toestand in posmeester (Tom Lane).
  • Los lekkasie op van klein subtransaksies wat tydens die logiese dekodering (Andres Freund) op skyf gestort word.
  • Dit het daartoe gelei dat tydelike lêers oormatige skyfspasie gebruik.
  • Verminder die werk wat nodig is om snapshots te skep tydens die skep van logiese-dekodering-slots (Andres Freund, Petr Jelinek)
  • Die vorige algoritme was onmoontlik duur op 'n bediener met baie oop transaksies.
  • Bevestig wedloopstoestand wat onbepaald die vertraging van die skep van logiese-dekodering-slots (Andres Freund, Petr Jelinek) kan uitstel.
  • Verlaag die bokoste in die verwerking van sypsak-ongeldigheidsgebeurtenisse (Tom Lane)
  • Dit is veral handig vir logiese dekodering, wat gereelde buffer ongeldig maak.
  • Verwyder foutiewe heuristiese gebruik wat in sommige gevalle gebruik word om saamwerk selektiwiteit te skat, gebaseer op die teenwoordigheid van vreemde sleutelbeperkings (David Rowley)
  • In sommige gevalle waar 'n vreemde sleutelbeperking van verskeie kolomme bestaan ​​het, maar nie presies ooreenstem met die navraagstruktuur van 'n navraag nie, het die beplanner 'n beramingshuristiek gebruik wat blyk dat dit glad nie goed werk nie. Herstel sulke gevalle soos dit geskat is voor 9.6.
  • Bevestig gevalle waar 'n INSERT of UPDATE aan meer as een element van 'n kolom toeken, wat van die tipe oor-skikking is (Tom Lane)
  • Laat vensterfunksies toe in sub-SELECTs wat binne die argumente van 'n totale funksie (Tom Lane) is.
  • Maak seker dat 'n kyk se KONTROLEKSIES-klousule behoorlik afgedwing word wanneer die onderliggende tabel 'n buitelandse tabel is (Etsuro Fujita)
  • Voorheen kan die opdatering heeltemal na die buitelandse bediener gedruk word, maar die behoefte om die vertoningstoestande te verifieer, is asb. gemis.
  • Beweeg outo-geverifieerde skikkingstipes uit die weg tydens ALTER ... RENAME (Vik Fearing)
  • Voorheen sou ons die naam van 'n teenstrydige outonomeer-tipe skikking uit die weg ruim tydens CREATE; Hierdie regstelling brei daardie gedrag uit na die herbenaming van bedrywighede.
  • Vaste skrikwyser in ALTER TABLE wanneer daar 'n opmerking is oor 'n beperking wat aan die tafel behoort (David Rowley)
  • Die reaksie van die kommentaar op die gerekonstrueerde beperking kan misluk met 'n vreemde foutboodskap of selfs ongeluk.
  • Maak seker dat ALTER USER ... SET al die sintaksvariante aanvaar wat ALTER ROLE ... SET doen (Peter Eisentraut)
  • Laat 'n buitelandse tabel se CONTROL-beperkings aanvanklik NIE geldig wees nie (Amit Langote)
  • CREATE TABLE stilte val NIE GELDIGE spesifikators vir CHECK-beperkings nie, en redeneer dat die tafel leeg moet wees sodat die beperking dadelik gevalideer kan word. Maar dit is verkeerd vir CREATE BUITELANDSE TABEL, waar daar geen rede is om te veronderstel dat die onderliggende tafel leeg is nie, en selfs as dit nie van ons is om te besluit dat die beperking as geldig beskou kan word nie. Slaan hierdie "optimalisering" vir buitelandse tabelle oor.
  • Verskaf afhanklikheids inligting korrek by die verandering van 'n data-tipe I / O-funksie se argument of retour-tipe van ondeursigtig na die korrekte tipe (Heikki Linnakangas)
  • CREATE TYPE-opdaterings-I / O-funksies wat in hierdie langverouderde styl verklaar is, maar dit het vergeet om 'n afhanklikheid van die tipe op te neem, sodat 'n daaropvolgende DROP TYPE agtergebroke funksiedefinisies agterbly.
  • Laat parallelisme toe in die navraagplan wanneer COPY kopieë van die resultaat van 'n navraag (Andres Freund)
  • Verminder geheueverbruik wanneer ANALYZE 'n tsvektor-kolom (Heikki Linnakangas) verwerk
  • Bevestig onnodige presisieverlies en slordige afronding wanneer jy geldwaardes verdubbel of verdeel deur heelgetalle of vlote (Tom Lane)
  • Kontroleer vir witspasie in funksies wat identifiseerders ontleed, soos regprocedurein () (Tom Lane)
  • Afhangende van die heersende land, kan hierdie funksies fragmente van multibyte karakters as witspasie mislees.
  • Gebruik relevante #define simbole van Perl terwyl jy PL / Perl (Ashutosh Sharma, Tom Lane) saamstel
  • Dit vermy oordraagbaarheidsprobleme, wat tipies manifesteer as 'n "handdruk" -verskil tydens biblioteeklading, wanneer dit met onlangse Perl-weergawes werk.
  • In libpq, herstel die GSS / SASL en SSPI-verifikasietoestand behoorlik na 'n mislukte konneksiepoging (Michael Paquier)
  • As u dit nie doen nie, beteken dit dat die terugval van SSL na nie-SSL-verbindings terugval, as gevolg van 'n GSS / SASL-mislukking in die SSL-poging, altyd veroorsaak dat die nie-SSL-poging om te misluk. SSPI het nie gefaal nie, maar dit het geheue gelek.
  • In psql, maak fout as KOPIE VAN STDIN geëindig word met 'n EOF-sleutelbord en dan word 'n ander COPY FROM STDIN probeer (Thomas Munro)
  • Hierdie wangedrag is waargeneem op BSD-afgeleide platforms (insluitend MacOS), maar nie op die meeste ander nie.
  • Fix pg_dump en pg_restore om REFRESH MATERIALIZED VIEW opdragte uit te stuur (Tom Lane)
  • Dit voorkom dat foute tydens dump / herstel herstel word wanneer 'n gematerialiseerde vertoning na tafels in besit van 'n ander gebruiker verwys.
  • Verbeter pg_dump / pg_restore se rapportering van foutvoorwaardes wat uit zlib kom (Vladimir Kunschikov, Alvaro Herrera)
  • Fix pg_dump met die - opsie om gebeurtenisuitdrukkers soos verwag te laat val (Tom Lane)
  • Dit gee nou ook die eienaarskap van geleentheidstellers reg toe. voorheen is hulle herstel as wat die eiendom van die supergebruiker besit wat die herstelskrip uitgevoer het.
  • Fix pg_dump met die - opsie om nie te misluk wanneer die openbare skema nie bestaan ​​nie (Stephen Frost)
  • Bevestig pg_dump om nie ongeldige SQL uit te stuur vir 'n leë operatorklas nie (Daniel Gustafsson)
  • Bevestig pg_dump-uitvoer na stdout op Windows (Kuntal Ghosh)
  • 'n Gekomprimeerde gewone teks dump wat na stdout geskryf is, sal korrupte data bevat weens die versuim om die lêerbeskrywer in binêre modus te plaas.
  • Fix pg_get_ruledef () om die korrekte uitset vir die ON SELECT-reël van 'n aansig te wys wie se kolomme hernoem is (Tom Lane)
  • In sommige hoekgevalle is pg_dump afhanklik van pg_get_ruledef () om uitsigte te dump, sodat hierdie fout kan lei tot mislukking / herlaai van foute.
  • Bevestig die storting van die buitenste verbindings met leë beperkinge, soos die gevolg van 'n NATUURLIKE LEFT-GEMEENSKAP met geen gewone kolomme (Tom Lane) nie.
  • Bevestig die dumping van funksie uitdrukkings in die FROM-klousule in gevalle waar die uitdrukking nie afbreek in iets wat lyk soos 'n funksieoproep (Tom Lane)
  • Herstel pg_basebackup uitvoer na stdout op Windows (Haribabu Kommi)
  • 'n Rugsteun wat na stdout geskryf is, bevat korrupte data as gevolg van die versuim om die lêerbeskrywer in binêre modus te plaas.
  • Stel pg_rewind reg om lêers wat 2GB oorskry, goed te hanteer (Kuntal Ghosh, Michael Paquier)
  • Gewoonlik sal sulke lêers nie in die PostgreSQL data-dopgehou verskyn nie, maar hulle kan in sommige gevalle teenwoordig wees.
  • Bevestig pg_upgrade om te verseker dat die eindige WAL-rekord nie wal_level = minimum het nie (Bruce Momjian)
  • Hierdie voorwaarde kan verhoed dat opgegradeerde standby-bedieners weer konnekteer.
  • Fix pg_xlogdump se berekening van WAL-rekordlengte (Andres Freund)
  • In postgres_fdw herstel verbindings na afgeleë bedieners na ALTER SERVER of ALTER USER MAPPING opdragte (Kyotaro Horiguchi)
  • Dit verseker dat opsie veranderings wat die verbindingsparameters raak, onmiddellik toegepas sal word.
  • In postgres_fdw, laat die kansellasie van eksterne transaksiebeheer opdragte (Robert Haas, Rafia Sabih) toe
  • Hierdie verandering stel ons in staat om vinnig te ontsnap aan 'n wag vir 'n reageer eksterne bediener in baie gevalle as voorheen.
  • Verhoog MAX_SYSCACHE_CALLBACKS om meer ruimte vir uitbreidings te bied (Tom Lane)
  • Gebruik altyd -fPIC, nie-fpic, wanneer gedeelde biblioteke met gcc (Tom Lane) gebou word
  • Dit ondersteun groter uitbreidingsbiblioteke op platforms waar dit 'n verskil maak.
  • In MSVC bou, hanteer die geval waar die openssl biblioteek nie binne 'n VC subdirectory (Andrew Dunstan) is nie.
  • In MSVC bou, voeg behoorlike sluit pad vir libxml2 header lêers (Andrew Dunstan)
  • Hiermee word 'n vroeëre behoefte om dinge rond te skuif in standaard Windows-installasies van libxml2.
  • In MSVC bou, herken 'n Tcl biblioteek wat tcl86.lib (Noah Misch) genoem word
  • In MSVC bou, eer PROVE_FLAGS instellings op vcregress.pl se bevellyn (Andrew Dunstan)

Soortgelyke sagteware

Sesame
Sesame

20 Feb 15

gdbm
gdbm

17 Feb 15

SmallSQL
SmallSQL

12 May 15

Kommentaar te PostgreSQL

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!