PostgreSQL

Software kuvakaappaus:
PostgreSQL
Ohjelmiston tiedot:
Versio: 10.5 / 11 Beta 3 Päivitetty
Lähetyksen päivämäärä: 16 Aug 18
Lupa: Vapaa
Suosio: 29

Rating: 1.5/5 (Total Votes: 2)

PostgreSQL on avoin lähdekoodi, tehokas, luotettava, vakaa, yrityskohtainen ja vapaa objekti-relaatiotietokanta MariaDB-, MySQL- tai SQLite-projektien tyyliin. Se on ACID (Atomicity, Consistency, Isolation, Durability) -yhteensopiva tietokantapalvelin / moottori, joka voi olla hyvin räätälöityjä ja sisältää lukuisia houkuttelevia ominaisuuksia, mikä tekee korvaamattomasti edellä mainitut tietokannat moottorit.


Ominaisuudet yhdellä silmäyksellä

Tärkeimpiä ominaisuuksia ovat muun muassa ulkoisten avainten tuki, näkymät, liittymät, laukaisut ja tallennetut toiminnot, tuki useille kielille, tuki monille SQL-tietotyypeille, kuten BOOLEAN, CHAR, INTEGER, NUMERIC, VARCHAR, INTERVAL, TIMESTAMP ja DATE.

Lisäksi ohjelmistossa on tuki binaaristen suurien objektien, mukaan lukien kaikentyyppisten multimediatiedostojen (video, audio ja valokuva) tallentamiseen ja kehittäjille, joilla on alkuperäiset ohjelmointirajapinnat C, C ++, Python, Perl, Ruby, Java, .Net, Tcl ja ODBC-ohjelmointikielet.

Muita mielenkiintoisia ominaisuuksia ovat mm. MVCC (Multi-Version Concurrency Control), taulukkotentit, multibyte-merkistökoodit, aikapalautuksen kohta, kypsä kyselyn optimointi ja suunnittelija, asynkroninen replikointi, online-varmuuskopioinnit, sisäkkäiset tapahtumat (tunnetaan yleisesti nimellä tallennuspisteet), kuumat varmuuskopiot, kirjoitus eteenpäin vikasietoisuutta varten, tuki kansainvälisille merkkijoukkoille sekä Unicode-tuki.


PostgreSQL numeroina

Tällä hetkellä PostgreSQL-tietokantapalvelin tukee tietokantojen rajoittamatonta kokoa, 32 TB: n pitäisi olla taulukon enimmäiskoko, 1,6 TB per rivi, 1 Gt per kenttä, rajattomasti rivejä per taulukko, tukee 250-150 saraketta per taulukko , riippuen saraketyypeistä ja tukee rajoittamattomia indeksejä taulukon mukaan.


Tuetut käyttöjärjestelmät

PostgreSQL on testattu menestyksekkäästi kaikissa valtavirran käyttöjärjestelmissä, kuten GNU / Linux, BSD, Solaris, HP-UX, AIX, SGI IRIX, Solaris, Tru64, Mac OS X ja Microsoft Windows. PostgreSQL on ladattavissa yleislähteenä olevaan arkistoon sekä ennalta koottuihin binääripaketteihin useille Linux-jakeluille, jotka tukevat sekä 32-bittisiä että 64-bittisiä arkkitehtuureja.

Uutta vahva> tässä julkaisussa:

  • Tämä julkaisu korjaa kaksi suojauskysymystä. Tämä julkaisu korjaa myös ongelmat, jotka löytyvät VACUUM-, GIN- ja hash-indekseistä, rinnakkaisesta kyselystä, loogisesta replikaatiosta ja muista viimeisten kolmen kuukauden aikana raportoiduista vioista. Kaikki käyttäjät, jotka käyttävät kyseisiä PostgreSQL-versioita, pitäisi päivittää mahdollisimman pian.

  • Uutta versiossa 10.4 / 11 Beta 1:

    • Tämä julkaisu korjaa kaksi suojauskysymystä. Tämä julkaisu korjaa myös ongelmat, jotka löytyvät VACUUM-, GIN- ja hash-indekseistä, rinnakkaisesta kyselystä, loogisesta replikaatiosta ja muista viimeisten kolmen kuukauden aikana raportoiduista vioista. Kaikki käyttäjät, jotka käyttävät kyseisiä PostgreSQL-versioita, pitäisi päivittää mahdollisimman pian.

    Uutta versiona:

    • Rajoittaa edelleen pg_user_mappings.umoptions: n näkyvyyttä käyttäjän kartoitusvaihtoehtojen (Noah Misch) tallennettujen salasanojen suojaamiseksi
    • Korjaus CVE-2017-7486: lle oli virheellinen: se mahdollisti käyttäjän nähdä vaihtoehdot omassa käyttäjänsä kartoittamisessa, vaikka hänellä ei olisi käytettävissään USAGE-lupaa kyseisessä palvelimessa. Tällaiset vaihtoehdot saattavat sisältää salasanan, joka on ollut palvelimen omistajan sijaan käyttäjän sijasta. Koska information_schema.user_mapping_options ei näytä vaihtoehtoja tällaisissa tapauksissa, pg_user_mappings ei pitäisi. (CVE-2017-7547)
    • Itse itse tämä korjaustiedosto korjaa käyttäytymisen vain äskettäin initdb'd-tietokannoissa. Jos haluat käyttää tätä muutosta olemassa olevaan tietokantaan, sinun on tehtävä seuraava:
    • Käynnistä postmaster uudelleen, kun lisätään allow_system_table_mods = true postgresql.conf-tiedostoon. (ALTER-järjestelmää tukevissa versioissa voit käyttää konfigurointimuutoksia, mutta sinun on vielä käynnistettävä uudelleen.)
    • Kustakin klusterin tietokannasta suorita seuraavat komennot pääkäyttäjänä:
    • SET search_path = pg_catalog;
    • LUO TAI VASTAA VIEW pg_user_mappings AS
    • Valitse
    • U.oid AS umid,
    • S.oid AS srvid,
    • S.srvname AS srvname,
    • U.umuser AS umuser,
    • CASE kun U.umuser = 0 THEN
    • 'julkinen'
    • tai
    • A.rolname
    • END AS usenimi,
    • CASE WHEN (U.umuser 0 AND A.rolname = current_user
    • )
    • AND (pg_has_role (S.srvowner, 'USAGE')
    • TAI has_server_privilege (S.oid, 'USAGE')))
    • TAI (U.umuser = 0 AND pg_has_role (S.srvowner, 'USAGE'))
    • TAI (SELECT rolsuper FROM pg_authid WHERE rolname = current_user)
    • THEN U.umoptions
    • MUUTEN NULL END AS umoptions
    • FROM pg_user_mapping U
    • VASEN LIITY pg_authid A ON (A.oid = U.umuser) LIITY
    • pg_foreign_server S ON (U.umserver = S.oid);
    • Älä unohda sisällyttää template0- ja template1-tietokantoja tai haavoittuvuus on edelleen olemassa myöhemmin luotuissa tietokannoissa. Mallin korjaaminen0, sinun on tilapäisesti otettava yhteys käyttöön. PostgreSQL 9.5: ssä ja uudemmissa voit käyttää
    • ALTER DATABASE -malli0 ALLOW_CONNECTIONS true;
    • ja sitten mallin0 vahvistamisen jälkeen kumoa tämä
    • ALTER DATABASE -malli, jossa ALLOW_CONNECTIONS false;
    • Aiemmissa versioissa käytä sen sijaan
    • UPDATE pg_database SET datallowconn = true Missä datname = 'template0';
    • UPDATE pg_database SET datallowconn = false WHERE datname = 'template0';
    • Lopuksi poistetaan allow_system_table_mods -asetusasetus ja käynnistetään uudelleen ylläpitäjä.
    • Salli tyhjät salasanat kaikissa salasanapohjaisissa tunnistusmenetelmissä (Heikki Linnakangas)
    • libpq sivuuttaa tyhjät salasanatiedot ja ei lähetä niitä palvelimelle. Joten, jos käyttäjän salasana on asetettu tyhjään merkkijonoon, on mahdotonta kirjautua salasanalla psql: n tai muiden libpq-pohjaisten asiakkaiden kautta. Järjestelmänvalvoja saattaa siis uskoa, että salasanan asettaminen tyhjäksi vastaa salasanojen kirjautumisen estämistä. Kuitenkin muokatun tai ei-libpq-pohjaisen asiakkaan kanssa kirjautuminen voi olla mahdollista riippuen siitä, mikä todennusmenetelmä on määritetty. Erityisesti yleisin menetelmä, md5, hyväksyi tyhjät salasanat. Muuta palvelinta hylätä tyhjät salasanat kaikissa tapauksissa. (CVE-2017-7546)
    • Tee lo_put () tarkista UPDATE-etuoikeus kohdeyleisölle (Tom Lane, Michael Paquier)
    • lo_put () varmasti tarvitsevat samat oikeudet kuin lowrite (), mutta tarkistus puuttui, minkä ansiosta kaikki käyttäjät voivat muuttaa tietoja suuressa kohteessa. (CVE-2017-7548)
    • Korjaa standby-palvelimien päivitysprosessin pg_upgrade (Bruce Momjian)
    • Edellisessä dokumentaatiossa käyttäjät ovat antaneet käyttäjille mahdollisuuden käynnistää / pysäyttää ensisijaisen palvelimen pg_upgrade-ohjelman suorittamisen jälkeen, mutta ennen standby-palvelimien synkronointia. Tämä sekvenssi ei ole turvallinen.
    • Samanaikaisesti tuplasti päivitysketjujen lukitus (Alvaro Herrera)
    • Jos useita istuntoja samanaikaisesti lukitsevat rinnakkaisen päivitysketjun epäonnistumattomilla lukitustiloilla vanhan tilannekuvauksen avulla ja kaikki onnistuu, jotkut heistä voisivat kuitenkin epäonnistua (ja päättelemään, että ei ole live-tuplaversiota) kilpailun vuoksi kunto. Tällä oli seurauksia, kuten ulkomaan avainrekisteröinnit, joissa ei näy tuplea, joka on ehdottomasti olemassa mutta jota päivitetään samanaikaisesti.
    • Vahvista potentiaalisen datan väärinkäyttö, kun pakastetaan tupla, jonka XMAX on multixact ja täsmälleen yksi mielenkiintoinen jäsen (Teodor Sigaev)
    • Vältä kokonaisluvun ylikuormitusta ja seuraavaa kaatumista, kun lajitellaan yli miljardi tuplasta muistiin (Sergei Koposov)
    • Windowsissa yritetään uudelleen luomaan prosessia, jos emme varaa jaettua muistia osoitekentän uudelle prosessille (Tom Lane, Amit Kapila)
    • Tämän odotetaan korjaa harvoin lapsiturvallisuusvirheitä, jotka ovat todennäköisesti virustentorjuntatuotteiden aiheuttamia häiriöitä.
    • Vahvista alhaisen todennäköisyyden korruptoitunut yhteinen predikaatti-lukko hash-taulukko Windows-rakennuksissa (Thomas Munro, Tom Lane)
    • Vältä SSL-yhteyden sulkemisen sulkemista ikään kuin se olisi yhteyden nollaus (Michael Paquier)
    • Estää SSL-istunnon lippujen lähettämisen asiakkaille (Tom Lane)
    • Tämä korjaus estää uudelleenliittämisen vikoja lipunmyötäisen asiakaspuolen SSL-koodin avulla.
    • Korjauskoodi tcp_keepalives_idle asetukselle Solaris (Tom Lane)
    • Räätälöi tilastotietojasi vastaamaan kyselyviestejä heti postmaster-sammumisen ja välittömän uudelleenkäynnistyksen jälkeen (Tom Lane)
    • Tilastotiedustelut, jotka julkaistiin puoli sekuntia edellisen postmaster-sammumisen aikana, jätettiin tehokkaasti huomiotta.
    • Varmista, että tilastokeräjän vastaanottopuskuri koko on vähintään 100KB (Tom Lane)
    • Tämä vähentää tilastotietojen hylkäysvaaraa vanhemmilla alustoilla, joiden oletuspakkauskoko on pienempi.
    • Vahvista WAL-segmentin mahdollinen luominen, kun valmiustilaa edistetään juuri sen jälkeen, kun se käsitteli XLOG_SWITCH WAL-tietueen (Andres Freund)
    • Korjaa walsender poistumaan nopeasti, kun asiakas pyytää sulkemista (Tom Lane)
    • Fix SIGHUP ja SIGUSR1 käsittely walsender-prosesseissa (Petr Jelinek, Andres Freund)
    • Estää walsenderiä laukaisema paniikki shutdown-tarkistuspisteiden aikana (Andres Freund, Michael Paquier)
    • Korjaa tarpeettoman hidas uudelleenkäynnistys walreceiver-prosesseista, jotka johtuvat rotuolosuhteista postmasterissa (Tom Lane)
    • Loogisen dekoodauksen (Andres Freund) aikana levitettyjen pienien subtransactionien vuotojen korjaaminen
    • Tämä johti väliaikaisiin tiedostoihin, jotka vaativat liiallista levytilaa.
    • Vähennä tilannekuvien luomiseen tarvittavaa työtä loogisten dekoodausolosuhteiden luomisen aikana (Andres Freund, Petr Jelinek)
    • Edellinen algoritmi oli kestoltaan kallista palvelimella, jossa oli paljon avoimia tapahtumia.
    • Ratkaise kilpailuolosuhteet, jotka voivat viivästyttää loputtomiin loogisten dekoodausolosuhteiden luomiseen (Andres Freund, Petr Jelinek)
    • Vähennä ylijäämää syscacen mitätöintitapahtumien käsittelyssä (Tom Lane)
    • Tämä on erityisen hyödyllistä loogiselle dekoodaukselle, mikä aiheuttaa usein välimuistin mitätöinnin.
    • Poista joissakin tapauksissa virheellinen heuristiikka, jonka avulla estimoidaan liityntävektori, joka perustuu vieraiden avainrajojen (David Rowley) esiintymiseen
    • Joissakin tapauksissa, joissa esiintyi moniparsirullista ulkomaista avainrajoitusta, mutta se ei täsmälleen vastannut kyselyn liittymisrakennetta, suunnittelija käytti heuristista arviointia, joka osoittautuu toimimasta hyvin ollenkaan. Palauta tällaiset tapaukset tavalla, jolla ne arvioitiin ennen 9.6.
    • Korjaa tapaukset, joissa INSERT tai UPDATE kohdistuu useampaan kuin yhteen elementtiin, joka on domain-over-array -tyyppinen (Tom Lane)
    • Salli ikkunafunktioiden käyttäminen osavalikoissa, jotka ovat yhdistetyn funktion (Tom Lane) argumentteja.
    • Varmista, että näkymän CHECK OPTIONS -lauseke pannaan oikein, kun taustalla oleva taulukko on ulkomaalainen taulukko (Etsuro Fujita)
    • Aikaisemmin päivitys saattaa olla kokonaan ulkomaiselle palvelimelle, mutta tarkistamisen tarve on jäänyt vastaamatta.
    • Siirrä itsenäisesti tuotettuja matriisia erottelemalla ALTER ... ALOITUKSEN ALKUUN ... RENAME (Vik Fearing)
    • Aiemmin nimeaisimme ristiriitaisen automaattisen generaattityypin nimen pois tieltä CREATE: n aikana. tämä korjaus laajentaa tämän käyttäytymisen uudelleennimeämistoimintoihin.
    • Korjaa heilahteleva osoitin ALTER TAULUKOSSA, kun on kommentti taulukkoon kuuluvan rajoitteen (David Rowley)
    • Kommentin uudelleen soveltaminen uudelleenrakennetulle rajoitteelle saattaa epäonnistua epätavallisen virheilmoituksen tai jopa kaatumisen vuoksi.
    • Varmista, että ALTER USER ... SET hyväksyy kaikki ALTER ROLE ... SET -asetuksen (Peter Eisentraut) syntaksimuunnokset
    • Salli ulkoisen taulukon CHECK-rajoitukset aluksi NOT VALID (Amit Langote)
    • CREATE TABLE hiljaa pudottaa EI VALID-määrityksiä CHECK-rajoitteille, päättelemällä, että taulukon on oltava tyhjä, jotta rajoitus voidaan vahvistaa välittömästi. Mutta tämä on väärin CREATE FOREIGN TAULUKKOON, jossa ei ole mitään syytä olettaa, että taustalla oleva taulukko on tyhjä, ja vaikka ei olekaan meidän liiketoimintamme, se päättää, että rajoitetta voidaan pitää kelvollisena eteenpäin. Ohita tämä & quot; optimointi & quot; ulkomaisille pöydille.
    • Päivitä riippuvuustiedot asianmukaisesti, kun vaihdat datatyyppisen I / O-toiminnon argumenttia tai palautustyyppiä läpinäkyväksi oikeaksi (Heikki Linnakangas)
    • LUONNON TYYPPI päivittää I / O-toimintoja, jotka on ilmoitettu tässä pitkään vanhentuneessa tyylissä, mutta unohdin tallentaa riippuvuuden tyypeistä, jolloin jälkimmäinen DROP TYPE jättää rikkinäisten toimintojen määritelmät.
    • Anna rinnakkaisuus kyselyn suunnassa kun COPY kopioi kyselyn tuloksesta (Andres Freund)
    • Vähennä muistin käyttöä, kun ANALYZE käsittelee tsvector-saraketta (Heikki Linnakangas)
    • Korjaa tarpeettomat tarkkuusvaatimukset ja epätarkka pyöristys, kun kerrotaan raja-arvojen jakautumisesta kokonaislukuina tai kelluina (Tom Lane)
    • Kiristä tunnisteita parsittavien toimintojen tyhjää tilaa, kuten regprocedurein () (Tom Lane)
    • Valittavasta alueesta riippuen nämä toiminnot saattavat ymmärtää moniparsimerkkien palaset väärin.
    • Käytä merkityksellisiä #define-symboleja Perlista, kun kopioit PL / Perl (Ashutosh Sharma, Tom Lane)
    • Näin vältetään siirrettävyysongelmat, jotka tyypillisesti ilmenevät "kättelystään" yhteensopimattomuus kirjaston kuormituksen aikana, kun työskentelet viimeaikaisten Perl-versioiden kanssa.
    • Levitä GSS / SASL- ja SSPI-autentikointitiedot kunnolla epäonnistuneen yhteysyrityksen (Michael Paquier) jälkeen.
    • Jos näin ei tapahdu, SSL: n ei-SSL-yhteyksien laskemisen yhteydessä SSL-yritystiedon GSS / SASL-vika aiheuttaisi aina, että ei-SSL-yritys epäonnistuisi. SSPI ei epäonnistunut, mutta se vuotaa muistia.
    • Psql: ssä korjataan vika, kun COPY FROM STDIN päätetään näppäimistö EOF-signaalilla ja sitten yritetään toista COPY FROM STDIN (Thomas Munro)
    • Tämä virheellinen käyttäytyminen havaittiin BSD: llä johdetuilla alustoilla (mukaan lukien macOS), mutta ei useimmilla muilla.
    • Korjaa pg_dump ja pg_restore lähettämään REFRESH MATERIALIZED VIEW komentoja viime (Tom Lane)
    • Tämä estää virheet dumpin / palautuksen aikana, kun toteutunut näkymä viittaa eri käyttäjän omistamiin taulukoihin.
    • Paranna pg_dump / pg_restore raportointia zlibin (Vladimir Kunschikov, Alvaro Herrera) alkuperäisistä virheistä
    • Korjaa pg_dump - puhdas vaihtoehto pudottaa tapahtumien laukaisut odotetulla tavalla (Tom Lane)
    • Nyt myös oikein määrittää tapahtumien laukaisijoiden omistuksen. ennen kuin ne palautettiin omistajanaan rivin käsittelijän ylläpitäjällä.
    • Korjaa pg_dump --clean vaihtoehto ei onnistu, kun julkista kaavaa ei ole (Stephen Frost)
    • Fix pg_dump ei lähetä virheellistä SQLa tyhjälle operaattoriluokalle (Daniel Gustafsson)
    • Korjaa pg_dump-ulostulo stdout-versioon Windows (Kuntal Ghosh)
    • Stdoutiin kirjoitettu pakattu tavallinen tekstipalautus sisältää virheellisiä tietoja, koska tiedostojen kuvaaja ei ole asetettu binäärimuotoon.
    • Korjaa pg_get_ruledef (), kun haluat tulostaa oikean tulostuksen sen näkymän ON SELECT -säännölle, jonka sarakkeet on nimetty (Tom Lane)
    • Joissakin nurkatapauksissa pg_dump luottaa pg_get_ruledef () poistaaksesi näkymät, jotta tämä virhe voi johtaa tyhjennys- / uudelleenasennusvirheisiin.
    • Ulkoisten yhteyksien korjaaminen tyhjillä tyhjillä rajoituksilla, kuten NATURAL LEFT JOIN -julkaisun tulos ilman yhteisiä sarakkeita (Tom Lane)
    • Toiminnallisten lausekkeiden korjaaminen FROM-lausekkeessa tapauksissa, joissa ilmaus ei jakaudu funktiokutsuun (Tom Lane)
    • Korjaa pg_basebackup-tuotos stdout-versioon Windows (Haribabu Kommi)
    • Stdoutille kirjoitettu varmuuskopio sisältää virheellisiä tietoja, koska tiedostojen kuvaaja ei ole asetettu binäärimuotoon.
    • Korjaa pg_rewind, jos haluat käsitellä tiedostoja, jotka ylittävät 2 gigatavun (Kuntal Ghosh, Michael Paquier)
    • Yleensä tällaiset tiedostot eivät näy PostgreSQL-tietokannoissa, mutta ne voivat olla joissakin tapauksissa.
    • Korjaa pg_upgrade varmistaaksesi, että loppu-WAL-tietueessa ei ole wal_level = minimi (Bruce Momjian)
    • Tämä ehto voi estää päivitetyt valmiustila-palvelimet uudelleen yhdistämisestä.
    • Korjaa pg_xlogdump laskemalla WAL-tietueen pituus (Andres Freund)
    • Kun postgres_fdw, palauta yhteydet etäpalvelimiin ALTER SERVER- tai ALTER USER MAPPING -komentojen (Kyotaro Horiguchi) jälkeen
    • Tällä varmistetaan, että yhteysparametreihin vaikuttavat muutokset tulevat voimaan nopeasti.
    • Kun postgres_fdw, sallikaa kauko-tapahtumien valvontikomentojen peruuttaminen (Robert Haas, Rafia Sabih)
    • Tämä muutos antaa meille mahdollisuuden nopeasti poistua odottamattomasta etäpalvelimesta monissa muissa tapauksissa kuin aiemmin.
    • Lisää MAX_SYSCACHE_CALLBACKS lisää tilaa laajennuksille (Tom Lane)
    • Käytä aina -fPIC, ei -fpic, kun rakennat jaettuja kirjastoja gcc: lla (Tom Lane)
    • Tämä tukee laajempia laajennuskirjastoja alustoilla, joilla se on erilainen.
    • MSVC-rakennuksissa käsitellään tapausta, jossa openssl-kirjasto ei ole VC-alihakemistossa (Andrew Dunstan)
    • Lisää MSVC: n rakentamisessa oikeanlainen polku libxml2-otsikkotiedostoille (Andrew Dunstan)
    • Tämä korjaa aikaisemman tarpeen siirtää asioita tavallisissa Windows-asennuksissa libxml2.
    • MSVC-rakennuksissa tunnistaa Tcl-kirjasto, joka on nimetty tcl86.lib (Noah Misch)
    • MSVC-rakennuksissa kunnioittaa PROVE_FLAGS-asetuksia vcregress.pl-komentorivillä (Andrew Dunstan)

    Uutta versio 9.6.4:

    • Rajoittaa edelleen pg_user_mappings.umoptionsin näkyvyyttä käyttäjien kartoitusasetusten (Noah Misch) tallennettujen salasanojen suojaamiseksi
    • Korjaus CVE-2017-7486: lle oli virheellinen: se mahdollisti käyttäjän nähdä vaihtoehdot omassa käyttäjänsä kartoittamisessa, vaikka hänellä ei olisi käytettävissään USAGE-lupaa kyseisessä palvelimessa. Tällaiset vaihtoehdot saattavat sisältää salasanan, joka on ollut palvelimen omistajan sijaan käyttäjän sijasta. Koska information_schema.user_mapping_options ei näytä vaihtoehtoja tällaisissa tapauksissa, pg_user_mappings ei pitäisi. (CVE-2017-7547)
    • Itse itse tämä korjaustiedosto korjaa käyttäytymisen vain äskettäin initdb'd-tietokannoissa. Jos haluat käyttää tätä muutosta olemassa olevaan tietokantaan, sinun on tehtävä seuraava:
    • Käynnistä postmaster uudelleen, kun lisätään allow_system_table_mods = true postgresql.conf-tiedostoon. (ALTER-järjestelmää tukevissa versioissa voit käyttää konfigurointimuutoksia, mutta sinun on vielä käynnistettävä uudelleen.)
    • Kustakin klusterin tietokannasta suorita seuraavat komennot pääkäyttäjänä:
    • SET search_path = pg_catalog;
    • LUO TAI VASTAA VIEW pg_user_mappings AS
    • Valitse
    • U.oid AS umid,
    • S.oid AS srvid,
    • S.srvname AS srvname,
    • U.umuser AS umuser,
    • CASE kun U.umuser = 0 THEN
    • 'julkinen'
    • tai
    • A.rolname
    • END AS usenimi,
    • CASE WHEN (U.umuser 0 AND A.rolname = current_user
    • )
    • AND (pg_has_role (S.srvowner, 'USAGE')
    • TAI has_server_privilege (S.oid, 'USAGE')))
    • TAI (U.umuser = 0 AND pg_has_role (S.srvowner, 'USAGE'))
    • TAI (SELECT rolsuper FROM pg_authid WHERE rolname = current_user)
    • THEN U.umoptions
    • MUUTEN NULL END AS umoptions
    • FROM pg_user_mapping U
    • VASEN LIITY pg_authid A ON (A.oid = U.umuser) LIITY
    • pg_foreign_server S ON (U.umserver = S.oid);
    • Älä unohda sisällyttää template0- ja template1-tietokantoja tai haavoittuvuus on edelleen olemassa myöhemmin luotuissa tietokannoissa. Mallin korjaaminen0, sinun on tilapäisesti otettava yhteys käyttöön. PostgreSQL 9.5: ssä ja uudemmissa voit käyttää
    • ALTER DATABASE -malli0 ALLOW_CONNECTIONS true;
    • ja sitten mallin0 vahvistamisen jälkeen kumoa tämä
    • ALTER DATABASE -malli, jossa ALLOW_CONNECTIONS false;
    • Aiemmissa versioissa käytä sen sijaan
    • UPDATE pg_database SET datallowconn = true Missä datname = 'template0';
    • UPDATE pg_database SET datallowconn = false WHERE datname = 'template0';
    • Lopuksi poistetaan allow_system_table_mods -asetusasetus ja käynnistetään uudelleen ylläpitäjä.
    • Salli tyhjät salasanat kaikissa salasanapohjaisissa tunnistusmenetelmissä (Heikki Linnakangas)
    • libpq sivuuttaa tyhjät salasanatiedot ja ei lähetä niitä palvelimelle. Joten, jos käyttäjän salasana on asetettu tyhjään merkkijonoon, on mahdotonta kirjautua salasanalla psql: n tai muiden libpq-pohjaisten asiakkaiden kautta. Järjestelmänvalvoja saattaa siis uskoa, että salasanan asettaminen tyhjäksi vastaa salasanojen kirjautumisen estämistä. Kuitenkin muokatun tai ei-libpq-pohjaisen asiakkaan kanssa kirjautuminen voi olla mahdollista riippuen siitä, mikä todennusmenetelmä on määritetty. Erityisesti yleisin menetelmä, md5, hyväksyi tyhjät salasanat. Muuta palvelinta hylätä tyhjät salasanat kaikissa tapauksissa. (CVE-2017-7546)
    • Tee lo_put () tarkista UPDATE-etuoikeus kohdeyleisölle (Tom Lane, Michael Paquier)
    • lo_put () varmasti tarvitsevat samat oikeudet kuin lowrite (), mutta tarkistus puuttui, minkä ansiosta kaikki käyttäjät voivat muuttaa tietoja suuressa kohteessa. (CVE-2017-7548)
    • Korjaa standby-palvelimien päivitysprosessin pg_upgrade (Bruce Momjian)
    • Edellisessä dokumentaatiossa käyttäjät ovat antaneet käyttäjille mahdollisuuden käynnistää / pysäyttää ensisijaisen palvelimen pg_upgrade-ohjelman suorittamisen jälkeen, mutta ennen standby-palvelimien synkronointia. Tämä sekvenssi ei ole turvallinen.
    • Samanaikaisesti tuplasti päivitysketjujen lukitus (Alvaro Herrera)
    • Jos useita istuntoja samanaikaisesti lukitsevat rinnakkaisen päivitysketjun epäonnistumattomilla lukitustiloilla vanhan tilannekuvauksen avulla ja kaikki onnistuu, jotkut heistä voisivat kuitenkin epäonnistua (ja päättelemään, että ei ole live-tuplaversiota) kilpailun vuoksi kunto. Tällä oli seurauksia, kuten ulkomaan avainrekisteröinnit, joissa ei näy tuplea, joka on ehdottomasti olemassa mutta jota päivitetään samanaikaisesti.
    • Vahvista potentiaalisen datan väärinkäyttö, kun pakastetaan tupla, jonka XMAX on multixact ja täsmälleen yksi mielenkiintoinen jäsen (Teodor Sigaev)
    • Vältä kokonaisluvun ylikuormitusta ja seuraavaa kaatumista, kun lajitellaan yli miljardi tuplasta muistiin (Sergei Koposov)
    • Windowsissa yritetään uudelleen luomaan prosessia, jos emme varaa jaettua muistia osoitekentän uudelle prosessille (Tom Lane, Amit Kapila)
    • Tämän odotetaan korjaa harvoin lapsiturvallisuusvirheitä, jotka ovat todennäköisesti virustentorjuntatuotteiden aiheuttamia häiriöitä.
    • Vahvista alhaisen todennäköisyyden korruptoitunut yhteinen predikaatti-lukko hash-taulukko Windows-rakennuksissa (Thomas Munro, Tom Lane)
    • Vältä SSL-yhteyden sulkemisen sulkemista ikään kuin se olisi yhteyden nollaus (Michael Paquier)
    • Estää SSL-istunnon lippujen lähettämisen asiakkaille (Tom Lane)
    • Tämä korjaus estää uudelleenliittämisen vikoja lipunmyötäisen asiakaspuolen SSL-koodin avulla.
    • Korjauskoodi tcp_keepalives_idle asetukselle Solaris (Tom Lane)
    • Räätälöi tilastotietojasi vastaamaan kyselyviestejä heti postmaster-sammumisen ja välittömän uudelleenkäynnistyksen jälkeen (Tom Lane)
    • Tilastotiedustelut, jotka julkaistiin puoli sekuntia edellisen postmaster-sammumisen aikana, jätettiin tehokkaasti huomiotta.
    • Varmista, että tilastokeräjän vastaanottopuskuri koko on vähintään 100KB (Tom Lane)
    • Tämä vähentää tilastotietojen hylkäysvaaraa vanhemmilla alustoilla, joiden oletuspakkauskoko on pienempi.
    • Vahvista WAL-segmentin mahdollinen luominen, kun valmiustilaa edistetään juuri sen jälkeen, kun se käsitteli XLOG_SWITCH WAL-tietueen (Andres Freund)
    • Korjaa walsender poistumaan nopeasti, kun asiakas pyytää sulkemista (Tom Lane)
    • Fix SIGHUP ja SIGUSR1 käsittely walsender-prosesseissa (Petr Jelinek, Andres Freund)
    • Estää walsenderiä laukaisema paniikki shutdown-tarkistuspisteiden aikana (Andres Freund, Michael Paquier)
    • Korjaa tarpeettoman hidas uudelleenkäynnistys walreceiver-prosesseista, jotka johtuvat rotuolosuhteista postmasterissa (Tom Lane)
    • Loogisen dekoodauksen (Andres Freund) aikana levitettyjen pienien subtransactionien vuotojen korjaaminen
    • Tämä johti väliaikaisiin tiedostoihin, jotka vaativat liiallista levytilaa.
    • Vähennä tilannekuvien luomiseen tarvittavaa työtä loogisten dekoodausolosuhteiden luomisen aikana (Andres Freund, Petr Jelinek)
    • Edellinen algoritmi oli kestoltaan kallista palvelimella, jossa oli paljon avoimia tapahtumia.
    • Ratkaise kilpailuolosuhteet, jotka voivat viivästyttää loputtomiin loogisten dekoodausolosuhteiden luomiseen (Andres Freund, Petr Jelinek)
    • Vähennä ylijäämää syscacen mitätöintitapahtumien käsittelyssä (Tom Lane)
    • Tämä on erityisen hyödyllistä loogiselle dekoodaukselle, mikä aiheuttaa usein välimuistin mitätöinnin.
    • Poista joissakin tapauksissa virheellinen heuristiikka, jonka avulla estimoidaan liityntävektori, joka perustuu vieraiden avainrajojen (David Rowley) esiintymiseen
    • Joissakin tapauksissa, joissa esiintyi moniparsirullista ulkomaista avainrajoitusta, mutta se ei täsmälleen vastannut kyselyn liittymisrakennetta, suunnittelija käytti heuristista arviointia, joka osoittautuu toimimasta hyvin ollenkaan. Palauta tällaiset tapaukset tavalla, jolla ne arvioitiin ennen 9.6.
    • Korjaa tapaukset, joissa INSERT tai UPDATE kohdistuu useampaan kuin yhteen elementtiin, joka on domain-over-array -tyyppinen (Tom Lane)
    • Salli ikkunafunktioiden käyttäminen osavalikoissa, jotka ovat yhdistetyn funktion (Tom Lane) argumentteja.
    • Varmista, että näkymän CHECK OPTIONS -lauseke pannaan oikein, kun taustalla oleva taulukko on ulkomaalainen taulukko (Etsuro Fujita)
    • Aikaisemmin päivitys saattaa olla kokonaan ulkomaiselle palvelimelle, mutta tarkistamisen tarve on jäänyt vastaamatta.
    • Siirrä itsenäisesti tuotettuja matriisia erottelemalla ALTER ... ALOITUKSEN ALKUUN ... RENAME (Vik Fearing)
    • Aiemmin nimeaisimme ristiriitaisen automaattisen generaattityypin nimen pois tieltä CREATE: n aikana. tämä korjaus laajentaa tämän käyttäytymisen uudelleennimeämistoimintoihin.
    • Korjaa heilahteleva osoitin ALTER TAULUKOSSA, kun on kommentti taulukkoon kuuluvan rajoitteen (David Rowley)
    • Kommentin uudelleen soveltaminen uudelleenrakennetulle rajoitteelle saattaa epäonnistua epätavallisen virheilmoituksen tai jopa kaatumisen vuoksi.
    • Varmista, että ALTER USER ... SET hyväksyy kaikki ALTER ROLE ... SET -asetuksen (Peter Eisentraut) syntaksimuunnokset
    • Salli ulkoisen taulukon CHECK-rajoitukset aluksi NOT VALID (Amit Langote)
    • CREATE TABLE hiljaa pudottaa EI VALID-määrityksiä CHECK-rajoitteille, päättelemällä, että taulukon on oltava tyhjä, jotta rajoitus voidaan vahvistaa välittömästi. Mutta tämä on väärin CREATE FOREIGN TAULUKKOON, jossa ei ole mitään syytä olettaa, että taustalla oleva taulukko on tyhjä, ja vaikka ei olekaan meidän liiketoimintamme, se päättää, että rajoitetta voidaan pitää kelvollisena eteenpäin. Ohita tämä "optimointi" ulkomaisille pöydille.
    • Päivitä riippuvuustiedot asianmukaisesti, kun vaihdat datatyyppisen I / O-toiminnon argumenttia tai palautustyyppiä läpinäkyväksi oikeaksi (Heikki Linnakangas)
    • LUONNON TYYPPI päivittää I / O-toimintoja, jotka on ilmoitettu tässä pitkään vanhentuneessa tyylissä, mutta unohdin tallentaa riippuvuuden tyypeistä, jolloin jälkimmäinen DROP TYPE jättää rikkinäisten toimintojen määritelmät.
    • Anna rinnakkaisuus kyselyn suunnassa kun COPY kopioi kyselyn tuloksesta (Andres Freund)
    • Vähennä muistin käyttöä, kun ANALYZE käsittelee tsvector-saraketta (Heikki Linnakangas)
    • Korjaa tarpeettomat tarkkuusvaatimukset ja epätarkka pyöristys, kun kerrotaan raja-arvojen jakautumisesta kokonaislukuina tai kelluina (Tom Lane)
    • Kiristä tunnisteita parsittavien toimintojen tyhjää tilaa, kuten regprocedurein () (Tom Lane)
    • Valittavasta alueesta riippuen nämä toiminnot saattavat ymmärtää moniparsimerkkien palaset väärin.
    • Käytä merkityksellisiä #define-symboleja Perlista, kun kopioit PL / Perl (Ashutosh Sharma, Tom Lane)
    • Näin vältetään siirrettävyysongelmat, jotka tyypillisesti ilmenevät kirjoituskuormituksen aikana "kättelyn" epäsovituksena, kun työskentelet uusimpien Perl-versioiden kanssa.
    • Levitä GSS / SASL- ja SSPI-autentikointitiedot kunnolla epäonnistuneen yhteysyrityksen (Michael Paquier) jälkeen.
    • Jos näin ei tapahdu, SSL: n ei-SSL-yhteyksien laskemisen yhteydessä SSL-yritystiedon GSS / SASL-vika aiheuttaisi aina, että ei-SSL-yritys epäonnistuisi. SSPI ei epäonnistunut, mutta se vuotaa muistia.
    • Psql: ssä korjataan vika, kun COPY FROM STDIN päätetään näppäimistö EOF-signaalilla ja sitten yritetään toista COPY FROM STDIN (Thomas Munro)
    • Tämä virheellinen käyttäytyminen havaittiin BSD: llä johdetuilla alustoilla (mukaan lukien macOS), mutta ei useimmilla muilla.
    • Korjaa pg_dump ja pg_restore lähettämään REFRESH MATERIALIZED VIEW komentoja viime (Tom Lane)
    • Tämä estää virheet dumpin / palautuksen aikana, kun toteutunut näkymä viittaa eri käyttäjän omistamiin taulukoihin.
    • Paranna pg_dump / pg_restore raportointia zlibin (Vladimir Kunschikov, Alvaro Herrera) alkuperäisistä virheistä
    • Korjaa pg_dump - puhdas vaihtoehto pudottaa tapahtumien laukaisut odotetulla tavalla (Tom Lane)
    • Nyt myös oikein määrittää tapahtumien laukaisijoiden omistuksen. ennen kuin ne palautettiin omistajanaan rivin käsittelijän ylläpitäjällä.
    • Korjaa pg_dump --clean vaihtoehto ei onnistu, kun julkista kaavaa ei ole (Stephen Frost)
    • Fix pg_dump ei lähetä virheellistä SQLa tyhjälle operaattoriluokalle (Daniel Gustafsson)
    • Korjaa pg_dump-ulostulo stdout-versioon Windows (Kuntal Ghosh)
    • Stdoutiin kirjoitettu pakattu tavallinen tekstipalautus sisältää virheellisiä tietoja, koska tiedostojen kuvaaja ei ole asetettu binäärimuotoon.
    • Korjaa pg_get_ruledef (), kun haluat tulostaa oikean tulostuksen sen näkymän ON SELECT -säännölle, jonka sarakkeet on nimetty (Tom Lane)
    • Joissakin nurkatapauksissa pg_dump luottaa pg_get_ruledef () poistaaksesi näkymät, jotta tämä virhe voi johtaa tyhjennys- / uudelleenasennusvirheisiin.
    • Ulkoisten yhteyksien korjaaminen tyhjillä tyhjillä rajoituksilla, kuten NATURAL LEFT JOIN -julkaisun tulos ilman yhteisiä sarakkeita (Tom Lane)
    • Toiminnallisten lausekkeiden korjaaminen FROM-lausekkeessa tapauksissa, joissa ilmaus ei jakaudu funktiokutsuun (Tom Lane)
    • Korjaa pg_basebackup-tuotos stdout-versioon Windows (Haribabu Kommi)
    • Stdoutille kirjoitettu varmuuskopio sisältää virheellisiä tietoja, koska tiedostojen kuvaaja ei ole asetettu binäärimuotoon.
    • Korjaa pg_rewind, jos haluat käsitellä tiedostoja, jotka ylittävät 2 gigatavun (Kuntal Ghosh, Michael Paquier)
    • Yleensä tällaiset tiedostot eivät näy PostgreSQL-tietokannoissa, mutta ne voivat olla joissakin tapauksissa.
    • Korjaa pg_upgrade varmistaaksesi, että loppu-WAL-tietueessa ei ole wal_level = minimi (Bruce Momjian)
    • Tämä ehto voi estää päivitetyt valmiustila-palvelimet uudelleen yhdistämisestä.
    • Korjaa pg_xlogdump laskemalla WAL-tietueen pituus (Andres Freund)
    • Kun postgres_fdw, palauta yhteydet etäpalvelimiin ALTER SERVER- tai ALTER USER MAPPING -komentojen (Kyotaro Horiguchi) jälkeen
    • Tämä varmistaa, että yhteysparametreihin vaikuttavat muutokset tulevat voimaan nopeasti.
    • Kun postgres_fdw, sallikaa kauko-tapahtumien valvontikomentojen peruuttaminen (Robert Haas, Rafia Sabih)
    • Tämä muutos antaa meille mahdollisuuden nopeasti poistua odottamattomasta etäpalvelimesta monissa muissa tapauksissa kuin aiemmin.
    • Lisää MAX_SYSCACHE_CALLBACKS lisää tilaa laajennuksille (Tom Lane)
    • Käytä aina -fPIC, ei -fpic, kun rakennat jaettuja kirjastoja gcc: lla (Tom Lane)
    • Tämä tukee laajempia laajennuskirjastoja alustoilla, joilla se on erilainen.
    • MSVC-rakennuksissa käsitellään tapausta, jossa openssl-kirjasto ei ole VC-alihakemistossa (Andrew Dunstan)
    • Lisää MSVC: n rakentamisessa oikeanlainen polku libxml2-otsikkotiedostoille (Andrew Dunstan)
    • Tämä korjaa aikaisemman tarpeen siirtää asioita tavallisissa Windows-asennuksissa libxml2.
    • MSVC-rakennuksissa tunnistaa Tcl-kirjasto, joka on nimetty tcl86.lib (Noah Misch)
    • MSVC-rakennuksissa kunnioittaa PROVE_FLAGS-asetuksia vcregress.pl-komentorivillä (Andrew Dunstan)

Vastaavia ohjelmistoja

DAMP
DAMP

2 Jun 15

Oracle Database
Oracle Database

17 Feb 15

CloverETL Engine
CloverETL Engine

11 Apr 16

Kommentit PostgreSQL

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!