PostgreSQL

Software skärmdump:
PostgreSQL
Mjukvaruinformation:
Version: 10.5 / 11 Beta 3 Uppdaterad
Ladda upp dagen: 16 Aug 18
Licens: Gratis
Popularitet: 29

Rating: 1.5/5 (Total Votes: 2)

PostgreSQL är ett open source, kraftfullt, pålitligt, stabilt, företagslätt och gratis objektrelationsdatabassystem i stil med MariaDB, MySQL eller SQLite-projekt. Det är en ACID (Atomicity, Consistency, Isolation, Durability) kompatibel databaseserver / -motor som kan vara mycket anpassad och innehåller många attraktiva funktioner, vilket gör en bra ersättare för ovannämnda databasmotorer.


Funktioner i ett ögonkast

Viktiga funktioner inkluderar stöd för utländska nycklar, visningar, anslutningar, utlösare och lagrade procedurer, stöd för flera språk, stöd för ett stort antal SQL-datatyper, inklusive BOOLEAN, CHAR, INTEGER, NUMERIC, VARCHAR, INTERVAL, TIMESTAMP och DATE.

Dessutom levereras programvaran med stöd för lagring av binära stora objekt, inklusive alla typer av multimediafiler (video, ljud och foto) och ger utvecklare inbyggda programmeringsgränssnitt för C, C ++, Python, Perl, Ruby, Java, .Net, Tcl och ODBC programmeringsspråk.

Bland andra intressanta funktioner kan vi nämna MVCC (Multi-Version Concurrency Control), tabellområden, multibyte teckenkodningar, punkt i återställning av tid, en mogen sökoptimerare och planerare, asynkron replikering, onlinebackup, nestade transaktioner (i allmänhet känd som sparade punkter), heta säkerhetskopior, skriv fram loggning för feltolerans, stöd för internationella teckenuppsättningar, samt Unicode-support.


PostgreSQL i nummer

För närvarande stöder PostgreSQL-databasservern obegränsad storlek för databaser, 32 TB bör vara den maximala storleken för tabeller, 1,6 TB per rad, 1 GB per fält, obegränsade rader per tabell, stöder mellan 250 och 1600 kolumner per tabell , beroende på kolumntyper, och stöder obegränsat index per tabell.


Operativsystem som stöds
PostgreSQL har testats framgångsrikt på alla vanliga operativsystem, inklusive GNU / Linux, BSD, Solaris, HP-UX, AIX, SGI IRIX, Solaris, Tru64, Mac OS X och Microsoft Windows. PostgreSQL är tillgängligt för nedladdning som ett universellt källarkiv, liksom förkompilerade binära paket för många Linux-distributioner, som stöder både 32-bitars och 64-bitars arkitekturer.

Vad är nytt i den här utgåvan:

  • Den här utgåvan åtgärdar två säkerhetsproblem. Den här utgåvan fixar också problem som hittats med VACUUM, GIN & hash-index, parallell fråga, logisk replikering och andra fel rapporterade under de senaste tre månaderna. Alla användare som använder de drabbade versionerna av PostgreSQL bör uppdatera så snart som möjligt.

Vad är nytt i version 10.4 / 11 Beta 1:

  • Den här utgåvan åtgärdar två säkerhetsproblem. Den här utgåvan fixar också problem som hittats med VACUUM, GIN & hash-index, parallell fråga, logisk replikering och andra fel rapporterade under de senaste tre månaderna. Alla användare som använder de drabbade versionerna av PostgreSQL bör uppdatera så snart som möjligt.

Vad är nytt i version:

  • Begränsa synligheten för pg_user_mappings.umoptions ytterligare för att skydda lösenord som är lagrade som alternativ för användarkartläggning (Noah Misch)
  • Korrigeringen för CVE-2017-7486 var felaktig: det var möjligt för en användare att se alternativen i sin egen användarkartläggning, även om hon inte hade ANVÄNDNINGstillstånd på den associerade utländska servern. Sådana alternativ kan innehålla ett lösenord som tillhandahållits av serverns ägare istället för användaren själv. Eftersom information_schema.user_mapping_options inte visar alternativen i sådana fall borde inte pg_user_mappings heller. (CVE-2017-7547)
  • I själva verket kommer denna korrigeringsfil bara att åtgärda beteendet i nybörjda databaser. Om du vill tillämpa denna ändring i en befintlig databas måste du göra följande:
  • Starta om postmästaren efter att ha lagt till allow_system_table_mods = true to postgresql.conf. (I versioner som stöder ALTER SYSTEM kan du använda det för att göra konfigurationen ändras, men du behöver fortfarande en omstart.)
  • I varje databas i klustret kör följande kommandon som superanvändare:
  • SET search_path = pg_catalog;
  • SKAPA ELLER BYTE AV VIEW pg_user_mappings AS
  • SELECT
  • U.oid AS omid,
  • S.oid AS srvid,
  • S.srvname AS srvname,
  • U.umuser AS omuser,
  • CASE WHEN U.umuser = 0 THEN
  • 'allmänheten'
  • ANNARS
  • A.rolname
  • SLUTA som username,
  • CASE WHEN (U.umuser 0 OCH A.rolname = current_user
  • OCH (pg_has_role (S.srvowner, 'USAGE')
  • ELLER har_server_privilege (S.oid, "USAGE")))
  • ELLER (U.umuser = 0 OCH pg_has_role (S.srvowner, 'USAGE'))
  • ELLER (VÄLJ rolsuper FROM pg_authid WHERE rolname = current_user)
  • THEN U.umoptions
  • ELSE NULL END AS omoptions
  • FRÅN pg_user_mapping U
  • VÄNSTER GÅNG pg_authid En PÅ (A.oid = U.umuser) GÅ MED
  • pg_foreign_server S ON (U.umserver = S.oid);
  • Glöm inte att inkludera databaserna template0 och template1, eller sårbarheten finns fortfarande i databaser som du skapar senare. För att fixa template0 måste du tillfälligt godkänna anslutningar. I PostgreSQL 9.5 och senare kan du använda
  • ALTER DATABASE template0 med ALLOW_CONNECTIONS true;
  • och sedan efter att ha fixat mall0, ångra det med
  • ALTER DATABASE template0 med ALLOW_CONNECTIONS false;
  • I tidigare versioner använder du istället
  • UPDATE pg_database SET datallowconn = true WHERE datnamn = 'template0';
  • UPDATE pg_database SET datallowconn = false WHERE datnamn = 'template0';
  • Ta bort konfigurationsinställningen allow_system_table_mods och starta om postmästaren igen.
  • Tillåt tomma lösenord i alla lösenordsbaserade autentiseringsmetoder (Heikki Linnakangas)
  • libpq ignorerar tomma lösenordsspecifikationer och överför dem inte till servern. Så om en användares lösenord har ställts in på den tomma strängen är det omöjligt att logga in med det lösenordet via psql eller andra libpq-baserade klienter. En administratör kan därför tro att inställningen av lösenordet för att tömma motsvarar inaktiveringen av lösenordets inloggning. Men med en modifierad eller icke-libpq-baserad klient kan det vara möjligt att logga in, beroende på vilken autentiseringsmetod som är konfigurerad. I synnerhet den vanligaste metoden, md5, accepterade tomma lösenord. Ändra servern för att avvisa tomma lösenord i alla fall. (CVE-2017-7546)
  • Gör lo_put () för UPDATE-privilegiet på det stora objektet (Tom Lane, Michael Paquier)
  • lo_put () borde säkert behöva samma behörigheter som lowrite (), men kontrollen saknades, vilket gör att en användare kan ändra data i ett stort objekt. (CVE-2017-7548)
  • Korrigera dokumentationen om processen för att uppgradera standby-servrar med pg_upgrade (Bruce Momjian)
  • Den tidigare dokumentationen instruerade användarna att starta / stoppa den primära servern efter att ha kört pg_upgrade men innan de synkroniserar standby-servrarna. Denna sekvens är osäker.
  • Fix samtidigt låsning av kuponguppdateringskedjor (Alvaro Herrera)
  • Om flera sessioner samtidigt låser upp en tuple-uppdateringskedja med motstridiga låslägen med en gammal ögonblicksbild, och alla lyckades, var det möjligt för vissa av dem ändå att misslyckas (och slutsatsen att det inte finns någon levande tupelversion) på grund av en tävling skick. Detta hade konsekvenser som främmande nyckelfelskontroller misslyckades med att se en tupel som definitivt finns men uppdateras samtidigt.
  • Fix potentiell datakorruption vid frysning av en tupel vars XMAX är en multixact med exakt en fortfarande intressant medlem (Teodor Sigaev)
  • Undvik heltalflöde och efterföljande krasch när du sorterar mer än en miljard tummar i minnet (Sergey Koposov)
  • I Windows, försök igen skapa processen om vi misslyckas med att reservera adressområdet för vårt delade minne i den nya processen (Tom Lane, Amit Kapila)
  • Detta förväntas fixa sällsynta problem med barnprocessstarter som troligtvis beror på störningar från antivirusprodukter.
  • Fix korrigering med låg sannolikhet för gemensamt predikatlås hash-bord i Windows-byggnader (Thomas Munro, Tom Lane)
  • Undvik att logga in ren stängning av en SSL-anslutning som om det var en anslutningsåterställning (Michael Paquier)
  • Förhindra att SSL-sessionsbiljetter skickas till kunder (Tom Lane)
  • Den här åtgärden förhindrar återkopplingsfel med biljettmedveten SSL-kod på kundsidan.
  • Fix kod för att ställa in tcp_keepalives_idle på Solaris (Tom Lane)
  • Fixa statistikuppsamlare för att hedra förfrågningsmeddelanden som utfärdats strax efter avslutad postmästare och omedelbar omstart (Tom Lane)
  • Statistikförfrågningar utfärdade inom en halv sekund av den tidigare postmästarens avstängning ignorerades effektivt.
  • Se till att statistikuppsamlarens buffertstorlek är minst 100 KB (Tom Lane)
  • Detta minskar risken för att statistikdata saknas på äldre plattformar vars standardbuffertstorlek är mindre än den.
  • Fix eventuellt skapande av ett ogiltigt WAL-segment när en vänteläge befordras strax efter att den behandlar en XLOG_SWITCH WAL-post (Andres Freund)
  • Fixa walsender för att avsluta omedelbart när kundförfrågningar stängs av (Tom Lane)
  • Fix SIGHUP och SIGUSR1 hantering i walsender processer (Petr Jelinek, Andres Freund)
  • Förhindra walsender-utlösande panik vid avstängningskontrollpunkter (Andres Freund, Michael Paquier)
  • Fixera onödigt långsam omstart av walreceiver-processer på grund av tävlingsvillkor i postmästare (Tom Lane)
  • Fix läckage av små deltransaktioner som spillts till disk under logisk avkodning (Andres Freund)
  • Detta resulterade i tillfälliga filer som förbrukar överdriven diskutrymme.
  • Minska det arbete som behövs för att bygga ögonblicksbilder under skapandet av logiska avkodningsplatser (Andres Freund, Petr Jelinek)
  • Den tidigare algoritmen var otroligt dyr på en server med många öppna transaktioner.
  • Fixa rasvillkor som oändligt kan fördröja skapandet av logiska avkodningsplatser (Andres Freund, Petr Jelinek)
  • Minska överliggande kostnader vid behandling av invaliditetshändelser för syscache (Tom Lane)
  • Det här är särskilt användbart för logisk avkodning, vilket utlöser tuff cache-invalidering.
  • Ta bort felaktig heuristik som i vissa fall användes för att uppskatta anslutningselektivitet baserat på närvaron av främmande nyckelbegränsningar (David Rowley)
  • I vissa fall där en främmande nyckelbegränsning med flera kolumner existerade men inte exakt matchade en förfrågnings anslutningsstruktur, använde planeraren en uppskattningsheuristik som visar sig inte fungera bra alls. Återställ sådana fall till det sätt de uppskattades före 9.6.
  • Fixa fall där en INSERT eller UPDATE tilldelas mer än ett element i en kolumn som är av domän-över-array-typ (Tom Lane)
  • Tillåt att fönsterfunktioner används i underväljanden som ligger inom argumenten för en samlad funktion (Tom Lane)
  • Se till att en visnings KONTROLLERINGSKlausul tillämpas korrekt när den underliggande tabellen är ett främmande bord (Etsuro Fujita)
  • Tidigare uppdaterades uppdateringen kanske helt till den utländska servern, men behovet av att verifiera visningsvillkoren missades om så är fallet.
  • Flytta autogenererade array typer ur vägen under ALTER ... RENAME (Vik Fearing)
  • Tidigare skulle vi byta namn på en motstridigt autogenererad array-typ ur vägen under CREATE; Denna åtgärd utökar det beteendet för att byta namn på operationer.
  • Fixa dangling-pekaren i ALTER TABLE när det finns en kommentar om ett hinder som hör till bordet (David Rowley)
  • Återanvända kommentaren till den rekonstruerade begränsningen kan misslyckas med ett konstigt felmeddelande eller till och med krasch.
  • Kontrollera att ALTER USER ... SET accepterar alla syntakvarianter som ALTER ROLE ... SET gör (Peter Eisentraut)
  • Tillåt att en utländsk bordets CHECK-begränsningar är initialt INTE GILTIG (Amit Langote)
  • CREATE TABLE tyst faller INTE GILDIGA SPECIFIER FÖR KONTROLLSKRIFTER, och resonerar att bordet måste vara tomt så att begränsningen kan valideras omedelbart. Men det här är fel för CREATE FOREIGN TABLE, där det inte finns någon anledning att anta att det underliggande bordet är tomt, och även om det inte är något vi har att besluta att begränsningen kan behandlas som giltigt framåt. Hoppa över denna "optimering" för utländska tabeller.
  • Uppdatera beredskapsinformation korrekt vid byte av en data-typ I / O-funktionens argument eller returtyp från ogenomskinlig till rätt typ (Heikki Linnakangas)
  • CREATE TYPE-uppdateringar I / O-funktioner som deklareras i den här föråldrade stilen, men det glömde att registrera ett beroende av typen, vilket gör det möjligt för en efterföljande DROPTYPE att lämna brutna funktionsdefinitioner bakom.
  • Tillåt parallellitet i frågeplanen när COPY kopierar från en frågan (Andres Freund)
  • Minska minnesanvändningen när ANALYZE behandlar en tsvektor-kolonn (Heikki Linnakangas)
  • Fixera onödig precisionstab och slarvig avrundning när du multiplicerar eller delar pengevärden med heltal eller flyter (Tom Lane)
  • Stram kontroller för blankutrymme i funktioner som analyserar identifierare, till exempel regprocedurein () (Tom Lane)
  • Dessa funktioner kan, beroende på det gällande läget, felintegrera fragment av multibyte tecken som blankutrymme.
  • Använd relevanta #defin-symboler från Perl medan du sammanställer PL / Perl (Ashutosh Sharma, Tom Lane)
  • Detta undviker portabilitetsproblem, som vanligtvis manifesteras som ett "handslag" felmatchning under bibliotekets belastning, när du arbetar med senaste Perl-versioner.
  • I libpq, återställ GSS / SASL och SSPI-autentiseringsstatus korrekt efter ett misslyckat anslutningsförsök (Michael Paquier)
  • Underlåtenhet att göra detta innebar att ett fall av GSS / SASL i SSL-försöket alltid skulle leda till att SSL-försöket misslyckades när det gick tillbaka från SSL till icke-SSL-anslutningar. SSPI misslyckades inte, men det läckte minnet.
  • I psql fixar du fel när COPY FROM STDIN avslutas med ett tangentbord EOF-signal och sedan försöker en annan COPY FROM STDIN (Thomas Munro)
  • Denna felbedömning observerades på BSD-härledda plattformar (inklusive macOS), men inte på de flesta andra.
  • Fix pg_dump och pg_restore för att släppa kommandon REFRESH MATERIALIZED VIEW (Tom Lane)
  • Detta förhindrar fel vid dumpning / återställning när en materialiserad vy avser tabeller som ägs av en annan användare.
  • Förbättra pg_dump / pg_restores rapportering av felförhållanden med ursprung i zlib (Vladimir Kunschikov, Alvaro Herrera)
  • Fix pg_dump med --clean alternativet för att släppa händelseutlösare som förväntat (Tom Lane)
  • Det tilldelar nu också rätt till äganderätt till händelseutlösare. innan de återställdes som ägda av superanvändaren som kör återställningsskriptet.
  • Fixa pg_dump med --clean alternativet att inte misslyckas när det offentliga schemaet inte existerar (Stephen Frost)
  • Fix pg_dump för att inte ge bort ogiltig SQL för en tom operatörsklass (Daniel Gustafsson)
  • Fix pg_dump-utdata till stdout på Windows (Kuntal Ghosh)
  • En komprimerad vanlig textdump som är skriven till stdout skulle innehålla korrupta data på grund av att fildeskriptorn inte gick i binärt läge.
  • Fix pg_get_ruledef () för att skriva ut rätt utgång för ON SELECT-regeln för en vy vars kolumner har bytt namn (Tom Lane)
  • I vissa hörnfall beror pg_dump på pg_get_ruledef () för att dumpa visningar, så att det här felet kan leda till att dumpa / ladda om fel.
  • Fixa dumpning av yttre förbindningar med tomma begränsningar, till exempel resultatet av en NATURLIG VÄNSTER JOIN utan vanliga kolumner (Tom Lane)
  • Fix dumpning av funktionsuttryck i FRA-klausulen i fall där uttrycket inte fördärvas i något som ser ut som ett funktionssamtal (Tom Lane)
  • Fix pg_basebackup-utdata till stdout på Windows (Haribabu Kommi)
  • En säkerhetskopia som skrivits till stdout skulle innehålla korrupta data på grund av att fildeskriptorn inte gick i binärt läge.
  • Fix pg_rewind för att hantera filer som överstiger 2 GB (Kuntal Ghosh, Michael Paquier) korrekt.
  • Vanligtvis kommer sådana filer inte att visas i PostgreSQL datakataloger, men de kan vara närvarande i vissa fall.
  • Fix pg_upgrade för att säkerställa att den slutliga WAL-posten inte har wal_level = minimum (Bruce Momjian)
  • Detta villkor kan förhindra att uppgraderade standbyservrar återansluts.
  • Fix pg_xlogdumps beräkning av WAL-rekordlängd (Andres Freund)
  • I postgres_fdw, återupprätta anslutningar till fjärrservrar efter ALTER SERVER eller ALTER USER MAPPING-kommandon (Kyotaro Horiguchi)
  • Detta säkerställer att ändringsalternativ som påverkar anslutningsparametrar kommer att tillämpas omedelbart.
  • I postgres_fdw tillåter du avbokning av fjärrkontroll för transaktionsstyrning (Robert Haas, Rafia Sabih)
  • Med den här ändringen kan vi snabbt ta bort en väntan på en icke-svarande fjärrserver i många fler fall än tidigare.
  • Öka MAX_SYSCACHE_CALLBACKS för att ge mer utrymme för tillägg (Tom Lane)
  • Använd alltid -fPIC, inte -fpic, när du bygger delade bibliotek med gcc (Tom Lane)
  • Det här stöder större utvidgningsbibliotek på plattformar där det gör skillnad.
  • I MSVC bygger, hantera fallet där openssl-biblioteket inte finns i en VC-underkatalog (Andrew Dunstan)
  • I MSVC bygger, lägg till korrekt inkludera sökväg för libxml2 headerfiler (Andrew Dunstan)
  • Detta fixar ett tidigare behov av att flytta saker runt i vanliga Windows-installationer av libxml2.
  • I MSVC bygger, känner igen ett Tcl-bibliotek som heter tcl86.lib (Noah Misch)
  • I MSVC bygger, hedrar PROVE_FLAGS inställningar på vcregress.pls kommandorad (Andrew Dunstan)

Vad är nytt i version 9.6.4:

  • Begränsa synligheten för pg_user_mappings.umoptions ytterligare, för att skydda lösenord som är lagrade som alternativ för användarkartläggning (Noah Misch)
  • Korrigeringen för CVE-2017-7486 var felaktig: det var möjligt för en användare att se alternativen i sin egen användarkartläggning, även om hon inte hade ANVÄNDNINGstillstånd på den associerade utländska servern. Sådana alternativ kan innehålla ett lösenord som tillhandahållits av serverns ägare istället för användaren själv. Eftersom information_schema.user_mapping_options inte visar alternativen i sådana fall borde inte pg_user_mappings heller. (CVE-2017-7547)
  • I själva verket kommer denna korrigeringsfil bara att åtgärda beteendet i nybörjda databaser. Om du vill tillämpa denna ändring i en befintlig databas måste du göra följande:
  • Starta om postmästaren efter att ha lagt till allow_system_table_mods = true to postgresql.conf. (I versioner som stöder ALTER SYSTEM kan du använda det för att göra konfigurationen ändras, men du behöver fortfarande en omstart.)
  • I varje databas i klustret kör följande kommandon som superanvändare:
  • SET search_path = pg_catalog;
  • SKAPA ELLER BYTE AV VIEW pg_user_mappings AS
  • SELECT
  • U.oid AS omid,
  • S.oid AS srvid,
  • S.srvname AS srvname,
  • U.umuser AS omuser,
  • CASE WHEN U.umuser = 0 THEN
  • 'allmänheten'
  • ANNARS
  • A.rolname
  • SLUTA som username,
  • CASE WHEN (U.umuser 0 OCH A.rolname = current_user
  • OCH (pg_has_role (S.srvowner, 'USAGE')
  • ELLER har_server_privilege (S.oid, "USAGE")))
  • ELLER (U.umuser = 0 OCH pg_has_role (S.srvowner, 'USAGE'))
  • ELLER (VÄLJ rolsuper FROM pg_authid WHERE rolname = current_user)
  • THEN U.umoptions
  • ELSE NULL END AS omoptions
  • FRÅN pg_user_mapping U
  • VÄNSTER GÅNG pg_authid En PÅ (A.oid = U.umuser) GÅ MED
  • pg_foreign_server S ON (U.umserver = S.oid);
  • Glöm inte att inkludera databaserna template0 och template1, eller sårbarheten finns fortfarande i databaser som du skapar senare. För att fixa template0 måste du tillfälligt godkänna anslutningar. I PostgreSQL 9.5 och senare kan du använda
  • ALTER DATABASE template0 med ALLOW_CONNECTIONS true;
  • och sedan efter att ha fixat mall0, ångra det med
  • ALTER DATABASE template0 med ALLOW_CONNECTIONS false;
  • I tidigare versioner använder du istället
  • UPDATE pg_database SET datallowconn = true WHERE datnamn = 'template0';
  • UPDATE pg_database SET datallowconn = false WHERE datnamn = 'template0';
  • Ta bort konfigurationsinställningen allow_system_table_mods och starta om postmästaren igen.
  • Tillåt tomma lösenord i alla lösenordsbaserade autentiseringsmetoder (Heikki Linnakangas)
  • libpq ignorerar tomma lösenordsspecifikationer och överför dem inte till servern. Så om en användares lösenord har ställts in på den tomma strängen är det omöjligt att logga in med det lösenordet via psql eller andra libpq-baserade klienter. En administratör kan därför tro att inställningen av lösenordet för att tömma motsvarar inaktiveringen av lösenordets inloggning. Men med en modifierad eller icke-libpq-baserad klient kan det vara möjligt att logga in, beroende på vilken autentiseringsmetod som är konfigurerad. I synnerhet den vanligaste metoden, md5, accepterade tomma lösenord. Ändra servern för att avvisa tomma lösenord i alla fall. (CVE-2017-7546)
  • Gör lo_put () för UPDATE-privilegiet på det stora objektet (Tom Lane, Michael Paquier)
  • lo_put () borde säkert behöva samma behörigheter som lowrite (), men kontrollen saknades, vilket gör att en användare kan ändra data i ett stort objekt. (CVE-2017-7548)
  • Korrigera dokumentationen om processen för att uppgradera standby-servrar med pg_upgrade (Bruce Momjian)
  • Den tidigare dokumentationen instruerade användarna att starta / stoppa den primära servern efter att ha kört pg_upgrade men innan de synkroniserar standby-servrarna. Denna sekvens är osäker.
  • Fix samtidigt låsning av kuponguppdateringskedjor (Alvaro Herrera)
  • Om flera sessioner samtidigt låser upp en tuple-uppdateringskedja med motstridiga låslägen med en gammal ögonblicksbild, och alla lyckades, var det möjligt för vissa av dem ändå att misslyckas (och slutsatsen att det inte finns någon levande tupelversion) på grund av en tävling skick. Detta hade konsekvenser som främmande nyckelfelskontroller misslyckades med att se en tupel som definitivt finns men uppdateras samtidigt.
  • Fix potentiell datakorruption vid frysning av en tupel vars XMAX är en multixact med exakt en fortfarande intressant medlem (Teodor Sigaev)
  • Undvik heltalflöde och efterföljande krasch när du sorterar mer än en miljard tummar i minnet (Sergey Koposov)
  • I Windows, försök igen skapa processen om vi misslyckas med att reservera adressområdet för vårt delade minne i den nya processen (Tom Lane, Amit Kapila)
  • Detta förväntas fixa sällsynta problem med barnprocessstarter som troligtvis beror på störningar från antivirusprodukter.
  • Fix korrigering med låg sannolikhet för gemensamt predikatlås hash-bord i Windows-byggnader (Thomas Munro, Tom Lane)
  • Undvik att logga in ren stängning av en SSL-anslutning som om det var en anslutningsåterställning (Michael Paquier)
  • Förhindra att SSL-sessionsbiljetter skickas till kunder (Tom Lane)
  • Den här åtgärden förhindrar återkopplingsfel med biljettmedveten SSL-kod på kundsidan.
  • Fix kod för att ställa in tcp_keepalives_idle på Solaris (Tom Lane)
  • Fixa statistikuppsamlare för att hedra förfrågningsmeddelanden som utfärdats strax efter avslutad postmästare och omedelbar omstart (Tom Lane)
  • Statistikförfrågningar utfärdade inom en halv sekund av den tidigare postmästarens avstängning ignorerades effektivt.
  • Se till att statistikuppsamlarens buffertstorlek är minst 100 KB (Tom Lane)
  • Detta minskar risken för att statistikdata saknas på äldre plattformar vars standardbuffertstorlek är mindre än den.
  • Fix eventuellt skapande av ett ogiltigt WAL-segment när en vänteläge befordras strax efter att den behandlar en XLOG_SWITCH WAL-post (Andres Freund)
  • Fixa walsender för att avsluta omedelbart när kundförfrågningar stängs av (Tom Lane)
  • Fix SIGHUP och SIGUSR1 hantering i walsender processer (Petr Jelinek, Andres Freund)
  • Förhindra walsender-utlösande panik vid avstängningskontrollpunkter (Andres Freund, Michael Paquier)
  • Fixera onödigt långsam omstart av walreceiver-processer på grund av tävlingsvillkor i postmästare (Tom Lane)
  • Fix läckage av små deltransaktioner som spillts till disk under logisk avkodning (Andres Freund)
  • Detta resulterade i tillfälliga filer som förbrukar överdriven diskutrymme.
  • Minska det arbete som behövs för att bygga ögonblicksbilder under skapandet av logiska avkodningsplatser (Andres Freund, Petr Jelinek)
  • Den tidigare algoritmen var otroligt dyr på en server med många öppna transaktioner.
  • Fixa rasvillkor som oändligt kan fördröja skapandet av logiska avkodningsplatser (Andres Freund, Petr Jelinek)
  • Minska överliggande kostnader vid behandling av invaliditetshändelser för syscache (Tom Lane)
  • Det här är särskilt användbart för logisk avkodning, vilket utlöser tuff cache-invalidering.
  • Ta bort felaktig heuristik som i vissa fall användes för att uppskatta anslutningselektivitet baserat på närvaron av främmande nyckelbegränsningar (David Rowley)
  • I vissa fall där en främmande nyckelbegränsning med flera kolumner existerade men inte exakt matchade en förfrågnings anslutningsstruktur, använde planeraren en uppskattningsheuristik som visar sig inte fungera bra alls. Återställ sådana fall till det sätt de uppskattades före 9.6.
  • Fixa fall där en INSERT eller UPDATE tilldelas mer än ett element i en kolumn som är av domän-över-array-typ (Tom Lane)
  • Tillåt att fönsterfunktioner används i underväljanden som ligger inom argumenten för en samlad funktion (Tom Lane)
  • Se till att en visnings KONTROLLERINGSKlausul tillämpas korrekt när den underliggande tabellen är ett främmande bord (Etsuro Fujita)
  • Tidigare uppdaterades uppdateringen kanske helt till den utländska servern, men behovet av att verifiera visningsvillkoren missades om så är fallet.
  • Flytta autogenererade array typer ur vägen under ALTER ... RENAME (Vik Fearing)
  • Tidigare skulle vi byta namn på en motstridigt autogenererad array-typ ur vägen under CREATE; Denna åtgärd utökar det beteendet för att byta namn på operationer.
  • Fixa dangling-pekaren i ALTER TABLE när det finns en kommentar om ett hinder som hör till bordet (David Rowley)
  • Återanvända kommentaren till den rekonstruerade begränsningen kan misslyckas med ett konstigt felmeddelande eller till och med krasch.
  • Kontrollera att ALTER USER ... SET accepterar alla syntakvarianter som ALTER ROLE ... SET gör (Peter Eisentraut)
  • Tillåt att en utländsk bordets CHECK-begränsningar är initialt INTE GILTIG (Amit Langote)
  • CREATE TABLE tyst faller INTE GILDIGA SPECIFIER FÖR KONTROLLSKRIFTER, och resonerar att bordet måste vara tomt så att begränsningen kan valideras omedelbart. Men det här är fel för CREATE FOREIGN TABLE, där det inte finns någon anledning att anta att det underliggande bordet är tomt, och även om det inte är något vi har att besluta att begränsningen kan behandlas som giltigt framåt. Hoppa över denna "optimering" för utländska tabeller.
  • Uppdatera beredskapsinformation korrekt vid byte av en data-typ I / O-funktionens argument eller returtyp från ogenomskinlig till rätt typ (Heikki Linnakangas)
  • CREATE TYPE-uppdateringar I / O-funktioner som deklareras i den här föråldrade stilen, men det glömde att registrera ett beroende av typen, vilket gör det möjligt för en efterföljande DROPTYPE att lämna brutna funktionsdefinitioner bakom.
  • Tillåt parallellitet i frågeplanen när COPY kopierar från en frågan (Andres Freund)
  • Minska minnesanvändningen när ANALYZE behandlar en tsvektor-kolonn (Heikki Linnakangas)
  • Fixera onödig precisionstab och slarvig avrundning när du multiplicerar eller delar pengevärden med heltal eller flyter (Tom Lane)
  • Stram kontroller för blankutrymme i funktioner som analyserar identifierare, till exempel regprocedurein () (Tom Lane)
  • Dessa funktioner kan, beroende på det gällande läget, felintegrera fragment av multibyte tecken som blankutrymme.
  • Använd relevanta #defin-symboler från Perl medan du sammanställer PL / Perl (Ashutosh Sharma, Tom Lane)
  • Detta undviker portabilitetsproblem, som vanligtvis manifesteras som en "handslag" -matchning under bibliotekets belastning, när man arbetar med de senaste Perl-versionerna.
  • I libpq, återställ GSS / SASL och SSPI-autentiseringsstatus korrekt efter ett misslyckat anslutningsförsök (Michael Paquier)
  • Underlåtenhet att göra detta innebar att ett fall av GSS / SASL i SSL-försöket alltid skulle leda till att SSL-försöket misslyckades när det gick tillbaka från SSL till icke-SSL-anslutningar. SSPI misslyckades inte, men det läckte minnet.
  • I psql fixar du fel när COPY FROM STDIN avslutas med ett tangentbord EOF-signal och sedan försöker en annan COPY FROM STDIN (Thomas Munro)
  • Denna felbedömning observerades på BSD-härledda plattformar (inklusive macOS), men inte på de flesta andra.
  • Fix pg_dump och pg_restore för att släppa kommandon REFRESH MATERIALIZED VIEW (Tom Lane)
  • Detta förhindrar fel vid dumpning / återställning när en materialiserad vy avser tabeller som ägs av en annan användare.
  • Förbättra pg_dump / pg_restores rapportering av felförhållanden med ursprung i zlib (Vladimir Kunschikov, Alvaro Herrera)
  • Fix pg_dump med --clean alternativet för att släppa händelseutlösare som förväntat (Tom Lane)
  • Det tilldelar nu också rätt till äganderätt till händelseutlösare. innan de återställdes som ägda av superanvändaren som kör återställningsskriptet.
  • Fixa pg_dump med --clean alternativet att inte misslyckas när det offentliga schemaet inte existerar (Stephen Frost)
  • Fix pg_dump för att inte ge bort ogiltig SQL för en tom operatörsklass (Daniel Gustafsson)
  • Fix pg_dump-utdata till stdout på Windows (Kuntal Ghosh)
  • En komprimerad vanlig textdump som är skriven till stdout skulle innehålla korrupta data på grund av att fildeskriptorn inte gick i binärt läge.
  • Fix pg_get_ruledef () för att skriva ut rätt utgång för ON SELECT-regeln för en vy vars kolumner har bytt namn (Tom Lane)
  • I vissa hörnfall beror pg_dump på pg_get_ruledef () för att dumpa visningar, så att det här felet kan leda till att dumpa / ladda om fel.
  • Fixa dumpning av yttre förbindningar med tomma begränsningar, till exempel resultatet av en NATURLIG VÄNSTER JOIN utan vanliga kolumner (Tom Lane)
  • Fix dumpning av funktionsuttryck i FRA-klausulen i fall där uttrycket inte fördärvas i något som ser ut som ett funktionssamtal (Tom Lane)
  • Fix pg_basebackup-utdata till stdout på Windows (Haribabu Kommi)
  • En säkerhetskopia som skrivits till stdout skulle innehålla korrupta data på grund av att fildeskriptorn inte gick i binärt läge.
  • Fix pg_rewind för att hantera filer som överstiger 2 GB (Kuntal Ghosh, Michael Paquier) korrekt.
  • Vanligtvis kommer sådana filer inte att visas i PostgreSQL datakataloger, men de kan vara närvarande i vissa fall.
  • Fix pg_upgrade för att säkerställa att den slutliga WAL-posten inte har wal_level = minimum (Bruce Momjian)
  • Detta villkor kan förhindra att uppgraderade standbyservrar återansluts.
  • Fix pg_xlogdumps beräkning av WAL-rekordlängd (Andres Freund)
  • I postgres_fdw, återupprätta anslutningar till fjärrservrar efter ALTER SERVER eller ALTER USER MAPPING-kommandon (Kyotaro Horiguchi)
  • Detta säkerställer att ändringsalternativ som påverkar anslutningsparametrar kommer att tillämpas omedelbart.
  • I postgres_fdw tillåter du avbokning av fjärrkontroll för transaktionsstyrning (Robert Haas, Rafia Sabih)
  • Med den här ändringen kan vi snabbt ta bort en väntan på en icke-svarande fjärrserver i många fler fall än tidigare.
  • Öka MAX_SYSCACHE_CALLBACKS för att ge mer utrymme för tillägg (Tom Lane)
  • Använd alltid -fPIC, inte -fpic, när du bygger delade bibliotek med gcc (Tom Lane)
  • Det här stöder större utvidgningsbibliotek på plattformar där det gör skillnad.
  • I MSVC bygger, hantera fallet där openssl-biblioteket inte finns i en VC-underkatalog (Andrew Dunstan)
  • I MSVC bygger, lägg till korrekt inkludera sökväg för libxml2 headerfiler (Andrew Dunstan)
  • Detta fixar ett tidigare behov av att flytta saker runt i vanliga Windows-installationer av libxml2.
  • I MSVC bygger, känner igen ett Tcl-bibliotek som heter tcl86.lib (Noah Misch)
  • I MSVC bygger, hedrar PROVE_FLAGS inställningar på vcregress.pls kommandorad (Andrew Dunstan)

Liknande mjukvara

phpPgAdmin
phpPgAdmin

14 Apr 15

MySQL-Connector
MySQL-Connector

11 May 15

Sesame
Sesame

20 Feb 15

Kommentarer till PostgreSQL

Kommentarer hittades inte
Kommentar
Slå på bilder!