PostgreSQL
| PostgreSQL | ||||
|---|---|---|---|---|
|
| ||||
| Yleistä tietoa | ||||
| ohjelmatyyppi | Objekti-relaatiotietokanta (ORDBMS) | |||
| Tekijä | Michael Stonebraker | |||
| kehittäjä | PostgreSQL Global Development Group | |||
| ensimmäinen julkaisu | 1996 | |||
| haavoittuvuuksia | CVE-2022-2625 | |||
| Lisenssi | PostgreSQL-lisenssi [ 1 ] | |||
| Tekninen informaatio | ||||
| Aikataulutettu sisään | C | |||
| Versiot | ||||
| Uusin vakaa versio | 14.4 ( info ) (16. kesäkuuta 2022 (3 kuukautta ja 29 päivää)) | |||
| Uusin versio testeissä | 13beta 121. toukokuuta 2020 | |||
| versiohistoria |
| |||
| Linkit | ||||
PostgreSQL , jota kutsutaan myös Postgresiksi , on avoimen lähdekoodin oliopohjainen relaatiotietokannan hallintajärjestelmä , joka on julkaistu PostgreSQL-lisenssillä [ 1 ] , joka on samanlainen kuin BSD tai MIT .
Kuten monet muut avoimen lähdekoodin projektit, PostgreSQL-kehitystä ei hoida yksi yritys tai henkilö, vaan sitä johtaa epäitsekkäästi, epäitsekkäästi , vapaasti työskentelevä tai kaupallisten organisaatioiden tukema kehittäjäyhteisö . Tätä yhteisöä kutsutaan nimellä PGDG ( PostgreSQL Global Development Group ).
PostgreSQL:llä ei ole virhekäsittelijää, mikä tekee virheiden oikean tilan selvittämisestä erittäin vaikeaa. [ 2 ]
Tuotteen nimi
Isojen kirjainten käyttö PostgreSQL-nimessä saattaa hämmentää joitain ihmisiä ensi silmäyksellä. " SQL " :n erilaiset ääntämiset voivat aiheuttaa sekaannusta. PostgreSQL-kehittäjät lausuvat sen /poːst ɡɹɛs kjuː ɛl/;. On myös yleistä kuulla sen lyhennettynä yksinkertaisesti "Postgres", joka oli sen alkuperäinen nimi. Koska se tukee SQL-standardia useimpien relaatiotietokantojen keskuudessa, yhteisö harkitsi nimen vaihtamista aikaisempaan Postgresiin. PostgreSQL Core Team ilmoitti kuitenkin vuonna 2007, että tuotteen nimi on edelleen PostgreSQL. Nimi viittaa hankkeen alkuperään "post- Ingres " -tietokannana, ja alkuperäiset tekijät kehittivät myös Ingres-tietokannan.
Historia
PostgreSQL:llä on ollut pitkä kehitys, joka alkoi vuonna 1982 Ingres -projektista UC Berkeleyssä . Tämä Michael Stonebrakerin johtama projekti oli yksi ensimmäisistä yrityksistä ottaa käyttöön relaatiotietokantamoottori. Työskenneltyään pitkään Ingresillä ja saatuaan kaupallista kokemusta siitä, Michael päätti palata yliopistoon vuonna 1985 työstämään uutta Ingres-kokemusta koskevaa projektia, nimeltään post-ingres tai yksinkertaisesti POSTGRES.
Post-ingres -projektin tavoitteena oli ratkaista 1980- luvun alussa selvitetyn relaatiotietokantamallin ongelmia . Suurin näistä ongelmista oli relaatiomallin kyvyttömyys ymmärtää "tyyppejä", eli yksinkertaisia tietoyhdistelmiä, jotka muodostavat yhden yksikön. Tällä hetkellä näitä kutsutaan objekteiksi . He pyrkivät tuomaan mahdollisimman vähän toimintoja täydentämään tyyppitukea. Näihin ominaisuuksiin sisältyi kyky määritellä tyyppejä, mutta myös kyky kuvata suhteita - joita siihen asti käytettiin laajalti, mutta ne olivat kokonaan käyttäjän ylläpitämiä. Postgresissa tietokanta "ymmärsi" suhteet ja saattoi saada tietoa liittyvistä taulukoista sääntöjen avulla . Postgres käytti monia Ingresin ideoita, mutta ei sen koodia.
Seuraava luettelo näyttää tärkeimmät virstanpylväät Postgres-projektin elämässä.
- 1986: julkaistiin useita julkaisuja, joissa kuvattiin järjestelmän perusta.
- 1988: käyttökelpoinen versio oli jo saatavilla.
- 1989: Ryhmä julkaisi version 1 pienelle käyttäjäyhteisölle.
- 1990: julkaistiin versio 2, joka oli käytännössä kirjoittanut sääntöjärjestelmän uudelleen.
- 1991: Version 3 julkaisu, joka lisäsi useiden tallennusmoottorien kyvyn.
- 1993: Käyttäjäyhteisön merkittävä kasvu, joka vaati lisää ominaisuuksia.
- 1994: Kun versio 4 julkaistiin, projekti päättyi ja ryhmä hajosi.
POSTGRES-projektin päätyttyä kaksi yliopistosta valmistunutta, Andrew Yu ja Jolly Chen , alkoivat työskennellä POSTGRES-koodin parissa. Tämä oli mahdollista, koska POSTGRES oli lisensoitu BSD :n alaisuudessa , ja ensimmäinen asia, jonka he tekivät, oli lisätä tuki SQL-kielelle POSTGRESiin. koska aiemmin sillä oli tulkki kyselykielelle QUEL (perustuu Ingresiin), mikä loi järjestelmän, jota he kutsuivat nimellä Postgres95.
Vuoteen 1996 mennessä projektiin liittyi yliopiston ulkopuolisia ihmisiä, kuten Marc Fournier Hub.Org Networking Servicesistä, Bruce Momjian ja Vadim B. Mikheev , jotka toimittivat ensimmäisen ei-yliopiston kehityspalvelimen avoimen lähdekoodin kehitystyötä varten ja aloittivat työskentelyn vakauttaa Postgres95-koodi.
Vuonna 1996 he päättivät muuttaa Postgres95:n nimen siten, että se kuvastaa SQL -kielen ominaispiirteitä ja päätyi kutsumaan sitä PostgreSQL:ksi, jonka ensimmäinen avoimen lähdekoodin versio julkaistiin 1. elokuuta 1996. Ensimmäinen virallinen versio PostgreSQL:stä ( 6.0) julkaistiin tammikuussa 1997. Sittemmin monet innostuneet tietokantamoottorien kehittäjät liittyivät hankkeeseen, koordinoitiin Internetin kautta ja alkoivat yhdessä sisällyttää moottoriin monia ominaisuuksia.
Vaikka lisenssi salli PostgreSQL:n kaupallistamisen, koodia ei alun perin kehitetty kaupallisiin tarkoituksiin, mikä on yllättävää ottaen huomioon PostgreSQL:n tarjoamat edut. Tärkein spinoff sai alkunsa, kun Paula Hawthtorn (alkuperäisen Ingres-tiimin jäsen, joka muutti Postgresiin) ja Michael Stonebraker perustivat Illustra Information Technologiesin Postgresin kaupallistamiseksi.
Vuonna 2000 entiset Red Hat -sijoittajat perustivat Great Bridge -yrityksen markkinoimaan PostgreSQL:ää ja kilpailemaan kaupallisten tietokantatoimittajien kanssa. Great Bridge sponsoroi useita PostgreSQL-kehittäjiä ja lahjoitti resursseja takaisin yhteisölle, mutta suljettiin vuoden 2001 lopulla Red Hatin kaltaisten yritysten kovan kilpailun ja huonojen markkinaolosuhteiden vuoksi.
Vuonna 2001 Command Prompt, Inc. julkaisi Mammonth PostgreSQL:n, PostgreSQL:n vanhimman kaupallisen jakelun. Se jatkaa PostgreSQL-yhteisön tukemista sponsoroimalla kehittäjiä ja projekteja, mukaan lukien PL/Perl, PL/php, ja isännöimällä yhteisöprojekteja, kuten PostgreSQL Build Farm.
Tammikuussa 2005 PostgreSQL sai tukea tietokantatoimittajalta Pervasive Softwarelta , joka tunnetaan Btrieve- tuotteestaan, jota käytettiin Novell Netware -alustalla . Kaikkialla mainostettiin kaupallista tukea ja yhteisön osallistumista ja saavutettiin jonkin verran menestystä. Heinäkuussa 2006 se kuitenkin poistui PostgreSQL-tukimarkkinoilta.
Vuoden 2005 puolivälissä kaksi muuta yritystä ilmoitti suunnitelmistaan kaupallistaa PostgreSQL painottaen erillisiä markkinarakoja. EnterpriseDB lisäsi toimintoja, jotka tekivät Oraclen kanssa toimiviksi kirjoitetuista sovelluksista helpompia ajaa PostgreSQL:n kanssa. Greenplum teki parannuksia suoraan Data Warehouse- ja Business Intelligence -sovelluksiin , mukaan lukien BizGres-projektiin.
Lokakuussa 2005 Sun Microsystemsin ohjelmistojen varatoimitusjohtaja John Loiacono kommentoi: "Emme pyri Microsoft OEM :n perään, mutta tarkastelemme nyt PostgreSQL:ää", vaikka tuolloin ei annettu teknisiä tietoja. Marraskuusta 2005 lähtien Sun Solaris 10 (julkaisu 6/06) sisälsi PostgreSQL:n.
Elokuussa 2007 EnterpriseDB julkisti Postgres Resource Centerin ja EnterpriseDB Postgresin, jotka on suunniteltu täysin konfiguroiduksi PostgreSQL-jakeluksi, joka sisältää monia lisättyjä ja lisättyjä moduuleja. EnterpriseDB Postgres nimettiin uudelleen Postgres Plusiksi maaliskuussa 2008.
PostgreSQL-projekti tekee edelleen suuria julkaisuja vuosittain ja pieniä bugikorjausjulkaisuja, jotka kaikki ovat saatavilla PostgreSQL-lisenssillä ja perustuvat kaupallisten toimittajien, avustavien yritysten ja enimmäkseen avoimen lähdekoodin kehittäjien panokseen.
Ominaisuudet
Joitakin sen pääominaisuuksia ovat mm.
Korkea äänestysprosentti
MVCC (Multi-Version Concurrent Access) -nimisen järjestelmän kautta PostgreSQL sallii, kun yksi prosessi kirjoittaa taulukkoon, muut pääsevät samaan taulukkoon ilman lukituksia. Jokainen käyttäjä saa yhtenäisen näkemyksen.
Laaja valikoima natiivityyppejä
PostgreSQL tarjoaa natiivisti tukea:
- Mielivaltaiset tarkkuusluvut .
- Rajattoman pituinen teksti.
- Geometriset hahmot (joissa on useita niihin liittyviä toimintoja).
- IP -osoitteet (IPv4 ja IPv6).
- CIDR- tyyliset osoitelohkot .
- MAC-osoitteet .
- Taulukot .
Lisäksi käyttäjät voivat luoda omia tietotyyppejä, jotka ovat täysin indeksoitavissa PostgreSQL:n GiST-infrastruktuurin ansiosta. Joitakin esimerkkejä ovat PostGIS -projektin luomat GIS - tietotyypit .
Muut ominaisuudet
- Vieraita avaimia kutsutaan myös vierasavaimiksi tai vierasavaimiksi .
- Liipaisimet ( triggerit ): Triggeri tai liipaisin määritellään tietyksi toiminnoksi, joka suoritetaan tapahtuman mukaan, kun se tapahtuu tietokannassa. PostgreSQL:ssä tämä tarkoittaa tallennetun toimintosarjan suorittamista tietyn taulukon tiettyyn toimintoon perustuen. Nyt kaikki laukaisimet määritellään kuudella ominaisuudella:
- Liipaisimen tai laukaisimen nimi
- Hetki, jolloin laukaisimen pitäisi alkaa
- Laukaisutapahtuman pitäisi käynnistyä...
- Pöytä, jossa liipaisin laukeaa
- Toteutustiheys
- Funktio, joka voidaan kutsua
- Toiminto ei ole oikea
Joten yhdistämällä nämä kuusi ominaisuutta, PostgreSQL antaa sinun luoda laajoja toimintoja sen laukaisujärjestelmän kautta .
- Näkymät .
- Tapahtuman eheys.
- Taulukon periytyminen.
- Tietotyypit ja geometriset operaatiot.
- Tuki hajautetuille tapahtumille. Sen avulla PostgreSQL voidaan integroida hajautettuun järjestelmään, joka koostuu erilaisista resursseista (esim. PostgreSQL-tietokanta, Oracle-tietokanta, IBM MQ JMS -sanomajono ja SAP ERP), jota hallitsee sovelluspalvelin, jossa onnistuminen ("commit") globaalin transaktion tulos on paikallisten transaktioiden onnistumisen tulos. Lisätietoja englanniksi on osoitteessa http://www.theserverside.com/discussions/thread.tss?thread_id=21385#95297 ja http://java.sun.com/javaee/technologies/jta/index.jsp .
Ominaisuudet
Palvelimella suoritettavat koodilohkot. Ne voidaan kirjoittaa useilla kielillä, sillä teholla, jonka jokainen niistä antaa, perusohjelmointitoiminnoista, kuten haaroista ja silmukoista, olioohjelmoinnin tai toiminnallisen ohjelmoinnin monimutkaisuuteen.
Triggerit ovat toimintoja, jotka on sidottu datatoimintoihin.
Joitakin kieliä, joita voidaan käyttää, ovat seuraavat:
- Omistuskieli nimeltä PL/PgSQL (samanlainen kuin Oraclen PL/SQL ).
- C. _
- C++ .
- JavaPL /Javaweb .
- PL/Perl .
- plPHP .
- PL/Python .
- PL/Ruby .
- PL/sh .
- PL/Tcl .
- PL/järjestelmä .
- Kieli tilastosovelluksiin R PL/R :n avulla .
PostgreSQL tukee toimintoja, jotka palauttavat "rivejä", joissa tulostetta voidaan käsitellä arvojoukona, jota voidaan käsitellä samalla tavalla kuin kyselyn palauttamaa riviä.
Toiminnot voidaan määrittää suoritettavaksi joko suorittavan käyttäjän oikeuksilla tai aiemmin määritellyn käyttäjän oikeuksilla. Toimintojen käsitettä kutsutaan muissa DBMS-järjestelmissä usein "tallennettuina menettelyinä".
Edut
– Turvallisuus yleisesti
-Integrity in DB: rajoitukset toimialueella
- Viittaus eheys
- Väitteet
-Liipaisimet
- Valtuutukset
- Yhteys tietokannanhallintajärjestelmään
- Tapahtumat ja varmuuskopiot
Tuotteet noin PostgreSQL
PGDG kehittää vain Data Enginen ja pienen määrän apuohjelmia, PostgreSQL-työn tehostamiseksi on yleensä tarpeen lisätä ulkoisia erityisesti tätä moottoria varten luotuja apuohjelmia, joista osa on:
1.Shanick
Julkaisuhistoria
| Vapauta | ensimmäinen julkaisu | Uusin pieni versio | viimeisin julkaisu |
|---|---|---|---|
| 0,01 | 1995-05-01 | 0,03 | 21.7.1995 |
| 1.0 | 1995-09-05 | 1.09 | |
| 6.0 | 1997-01-29 | − | |
| 6.1 | 1997-06-08 | 6.1.1 | |
| 6.2 | 10.2.1997 | 6.2.1 | |
| 6.3 | 1998-03-01 | 6.3.2 | |
| 6.4 | 30.10.1998 | 6.4.2 | |
| 6.5 | 1999-06-09 | 6.5.3 | |
| 7.0 | 2000-05-08 | 7.0.3 | |
| 7.1 | 13.4.2001 | 7.1.3 | |
| 7.2 | 2002-02-04 | 7.2.8 | |
| 7.3 | 27.11.2002 | 7.3.21 | |
| 7.4 | 17.11.2003 | 7.4.30 | |
| 8.0 | 19.1.2005 | 8.0.26 | |
| 8.1 | 2005-11-08 | 8.1.23 | |
| 8.2 | 12.5.2006 | 8.2.23 | |
| 8.3 | 2008-02-04 | 8.3.23 | |
| 8.4 | 2009-07-01 | 8.4.22 | |
| 9.0 | 20.9.2010 | 9.0.23 | |
| 9.1 | 12.9.2011 | 9.1.24 | |
| 9.2 | 10.9.2012 | 9.2.19 | |
| 9.3 | 9.9.2013 | 9.3.15 | |
| 9.4 | 18.12.2014 | 9.4.20 | |
| 9.5 | 2016-01-07 | 9.5.15 | |
| 9.6 | 29.9.2016 | 9.6.11 | |
| 10 | 10.5.2017 | 10.6 | |
| yksitoista | 18.10.2018 | 11.1 |
Kaupalliset vaihtoehdot
BSD -lisenssin ansiosta koodin käyttö on sallittu kaupallistaa. Yksi tapaustutkimuksista on Enterprise DB (Postgresql Plus), joka sisältää erilaisia laajennuksia ja Java -pohjaisen kehitysrajapinnan . Muiden yritysten joukossa, jotka käyttävät Postgresql-markkinointia, on CyberTech (Saksa) CyberCluster-tuotteellaan.
GIS
- PostGIS
- Laajennus, joka lisää tuen maantieteellisille objekteille PostgreSQL:ään ja mahdollistaa analyysin spatiaalisten SQL-kyselyiden tai GIS -sovelluksiin (Geographic Information System) yhteyden kautta.
Replikointi
- PgCluster
- Multi Master replikointi.
- Slony-I
- Master slave -replikointi.
- pyreplika
- Asynkroninen isäntä-orja ja moniisäntäreplikointi.
Hallintatyökalut
- pgAdmin
- Ilmainen ja avoimen lähdekoodin visuaalinen työpöytäympäristö. Asennettavissa Linux- , FreeBSD- , Solaris- , Mac OSX- ja Windows-alustoille . Se mahdollistaa yhteyden muodostamisen millä tahansa alustalla toimiviin PostgreSQL-tietokantoihin. Se on saatavana eri kielillä.
- Se helpottaa tietokantojen hallintaa ja hallinnointia joko SQL-ohjeiden tai graafisen ympäristön avulla. Mahdollistaa pääsyn tietokannan kaikkiin toimintoihin; kyselyt, manipulointi ja tietojen hallinta, mukaan lukien lisäasetukset, kuten Slony-I-replikointimoottorin manipulointi.
pgAdmin-projekti perustettiin, ja sen pääkehittäjänä on David Page.
Tätä työkalua alettiin kirjoittaa Visual Basicilla ja ajan myötä se on vaihtanut kieliä.
- pgManager oli ensimmäisen prototyypin nimi, se kirjoitettiin PostgreSQL 6.3.2:lle vuonna 1998, kuukausia myöhemmin se kirjoitettiin uudelleen ja julkaistiin.
- pgAdmin oli uudelleenkirjoitettu versio, joka julkaistiin GNU General Public License (GPL) -lisenssillä.
- pgAdmin II oli täysin uudelleen kirjoitettu versio, joka julkaistiin ensimmäisen kerran 16. tammikuuta 2002.
- pgAdmin III oli kolmas versio, se julkaistiin Artistic License -lisenssillä ja myöhemmin samalla lisenssillä kuin PostgreSQL. Tämä versio tehtiin C++:lla käyttäen wxWidgets- kehystä, mikä mahdollistaa sen suorittamisen useimmissa käytetyissä käyttöjärjestelmissä. Kyselytyökalu sisältää pgScript-nimisen kielen, joka tukee kehitys- ja hallintatehtäviä.
- pgAdmin 4 julkaistiin 29. syyskuuta 2016 [ 4 ] se tehtiin Pythonilla ja Javascript/jQueryllä, ja C ++:lla kirjoitettu työpöytäajonaika Qt-graafisen kirjaston kanssa.
Joulukuussa 2014 Dave Page ilmoitti, että verkkopohjaisiin malleihin siirtymisen myötä aloitettiin työ pgAdmin 4:n parissa tavoitteena helpottaa pilvikäyttöönottoa.
- PgAccess
- Visuaalinen työpöytäympäristö.
- PhpPgAdmin
- Web-ympäristö.
- psql
- Konsoli asiakas.
- Tietokannan päällikkö
- Visuaalinen työpöytäympäristö.
Tekstihaku
- Koko tekstihaku
- Sisältyy ytimeen versiosta 8.3 alkaen.
- Tsearch2 :n ja OpenFTS :n kautta versiota 8.3 vanhemmille versioille.
XML
- XML / XSLT- tuki
- Contrib -osion XPath-laajennusten kautta .
Suositellut käyttäjät
- .org , .info , .mobi ja .aero verkkotunnusten rekisteröinnit Afiliasilta . [ 5 ]
- American Chemical Society .
- BASF .
- IMDb .
- Skype .
- TiVo .
- Penny Arcade .
- SonyOnline . [ 6 ]
- Yhdysvaltain työministeriö .
- USPS .
- VeriSign .
- pictiger.com
- Wisconsin Circuit Court Access 6 * 180 Gt:n DB:llä, joka on replikoitu reaaliajassa.
- OpenACS ja .LRN .
- INEGI .
- INE .
- CartoCiudad . [ 7 ] Espanjan IGN:ltä.
Palkinnot
PostgreSQL on saanut seuraavat palkinnot: [ 8 ]
- 1999 Linux World Editor's Choice -palkinto parhaasta tietokannasta
- 2000 Linux Journal Editors' Choice Awards parhaasta tietokannasta
- 2002 Linux New Media Editors Choice Award parhaasta tietokannasta
- 2003 Linux Journal Editors' Choice Awards parhaasta tietokannasta
- 2004 Linux New Media Award parhaasta tietokannasta
- 2004 Linux Journal Editors' Choice Awards parhaasta tietokannasta
- 2004 ArsTechnican paras palvelinsovelluspalkinto
- 2005 Linux Journal Editors' Choice Awards parhaasta tietokannasta
- 2006 Linux Journal Editors' Choice Awards parhaasta tietokannasta
- 2008 Developer.com Vuoden tuote, tietokantatyökalu
Katso myös
Viitteet
- ^ a b "Lisenssi" . PostgreSQL Global Development Group . Haettu 24. elokuuta 2015 .
- ↑ Virheenseuranta PostgreSQL:lle?
- ^ "Versiopolitiikka" . PostgreSQL Global Development Group . Haettu 30. tammikuuta 2012 .
- ↑ https://www.postgresql.org/about/news/1704/
- ↑ PostgreSQL-affiliates.ORG-verkkotunnus
- ↑ Sony Online valitsee avoimen lähdekoodin tietokannan Oraclen sijaan
- ↑ CartoCiudadin verkkosivusto. Kartografia jatkuvasta tieverkosta ja kansallisesta laajuudesta, joka kulkee Espanjan asutuskeskusten läpi ja sisältää koko alueen posti- ja väestönlaskentarajat
- ↑ "PostgreSQL, palkittu ohjelmisto" . postgresql.org. 19. tammikuuta 2008. Arkistoitu alkuperäisestä 12. helmikuuta 2018 . Haettu 31. tammikuuta 2008 .
Ulkoiset linkit
Wikimedia Commons isännöi Medialuokkaa PostgreSQL :stä .- Ammattimainen tekninen tuki PostgreSQL:lle
- PostgreSQL virallinen verkkosivusto
- Perus Linux PostgreSQL -hallintaopas
- PostgreSQL-pohjainen tietokanta
- PostgreSQL-es - espanjankielinen portaali PostgreSQL:stä
- PostgreSQL-kirjat ja -oppaat ( rikkinäinen linkki saatavilla Internet-arkistossa ; katso historia , ensimmäinen ja uusin versio ).
- Indeksien käsittely PostgreSQL:ssä
- Argentina PostgreSQL-sivusto ja käyttäjäyhteisö
- Peru PostgreSQL-sivusto ja käyttäjäyhteisö
- PHP kirjoitettu asiakas
- Analyysi- ja suunnitteluprosessi siirtymistä varten Oracle 10g R2:sta PostgreSQL 9.1.3 :een - Kansallinen avoimiin lähteisiin perustuvan tieto- ja viestintätekniikan soveltamisen viitekeskus (CENATIC) .