PostgreSQL | ||||
---|---|---|---|---|
Generell informasjon | ||||
programtype | Objektrelasjonsdatabase (ORDBMS) | |||
Forfatter | Michael Stonebraker | |||
utvikler | PostgreSQL Global Development Group | |||
Første utgivelse | nitten nittiseks | |||
sårbarheter | CVE-2022-2625 | |||
Tillatelse | PostgreSQL-lisens [ 1 ] | |||
Teknisk informasjon | ||||
Planlagt inn | C | |||
Versjoner | ||||
Siste stabile versjon | 14.4 ( info ) (16. juni 2022 (3 måneder og 29 dager)) | |||
Siste versjon i tester | 13beta 121. mai 2020 | |||
versjonshistorikk |
stabil
| |||
Lenker | ||||
Offesiell nettside kodelager | ||||
PostgreSQL , også kalt Postgres , er et åpen kildekode , objektorientert relasjonsdatabasestyringssystem , utgitt under PostgreSQL - lisensen , [ 1 ] lik BSD eller MIT .
Som mange andre åpen kildekode -prosjekter håndteres ikke PostgreSQL-utvikling av ett selskap eller person, men drives snarere av et fellesskap av utviklere som jobber uselvisk, altruistisk , fritt eller støttet av kommersielle organisasjoner . Dette fellesskapet kalles PGDG ( PostgreSQL Global Development Group ).
PostgreSQL har ikke en feilbehandler, noe som gjør det svært vanskelig å vite riktig status for feil. [ 2 ]
Bruken av store bokstaver i PostgreSQL-navnet kan forvirre noen mennesker ved første øyekast. De forskjellige uttalene av " SQL " kan føre til forvirring. PostgreSQL-utviklere uttaler det /poːst ɡɹɛs kjuː ɛl/;. Det er også vanlig å høre det forkortet som ganske enkelt "Postgres", som var dets opprinnelige navn. På grunn av støtten til SQL-standarden blant de fleste relasjonsdatabaser, vurderte samfunnet å endre navnet til det tidligere Postgres. PostgreSQL Core Team kunngjorde imidlertid i 2007 at produktet fortsatt skulle hete PostgreSQL. Navnet refererer til prosjektets opprinnelse som "post- Ingres "-databasen, og de originale forfatterne utviklet også Ingres-databasen.
PostgreSQL har hatt en lang utvikling, som startet i 1982 med Ingres -prosjektet ved UC Berkeley . Dette prosjektet, ledet av Michael Stonebraker , var et av de første forsøkene på å implementere en relasjonsdatabasemotor. Etter å ha jobbet lenge på Ingres og hatt kommersiell erfaring med det, bestemte Michael seg for å gå tilbake til universitetet i 1985 for å jobbe med et nytt prosjekt om Ingres-opplevelsen, kalt post-ingres eller ganske enkelt POSTGRES. .
Post-ingres-prosjektet hadde som mål å løse problemer med relasjonsdatabasemodellen som ble ryddet opp på begynnelsen av 1980-tallet . Den viktigste blant disse problemene var relasjonsmodellens manglende evne til å forstå "typer", det vil si enkle datakombinasjoner som utgjør en enkelt enhet. For tiden kalles disse objekter . De forsøkte å introdusere så lite funksjonalitet som mulig for å fullføre typestøtte. Disse funksjonene inkluderte muligheten til å definere typer, men også muligheten til å beskrive relasjoner – som inntil da var mye brukt, men vedlikeholdt utelukkende av brukeren. I Postgres "forsto" databasen relasjoner og kunne hente informasjon fra relaterte tabeller ved å bruke regler . Postgres brukte mange ideer fra Ingres, men ikke koden.
Følgende liste viser de viktigste milepælene i Postgres-prosjektets liv.
Etter at POSTGRES-prosjektet ble avsluttet, begynte to universitetsutdannede, Andrew Yu og Jolly Chen , å jobbe med POSTGRES-koden, dette var mulig siden POSTGRES var lisensiert under BSD , og det første de gjorde var å legge til støtte for SQL-språket til POSTGRES, gitt at den tidligere hadde en tolk av spørringsspråket QUEL (basert på Ingres), og skapte dermed systemet som de kalte Postgres95.
I 1996 fikk prosjektet selskap av folk utenfor universitetet som Marc Fournier fra Hub.Org Networking Services, Bruce Momjian og Vadim B. Mikheev som ga den første ikke-universitetsutviklingsserveren for utviklingsarbeidet med åpen kildekode og begynte arbeidet med å stabilisere Postgres95-koden.
I 1996 bestemte de seg for å endre navnet på Postgres95 på en slik måte at det gjenspeiler egenskapene til SQL -språket og endte opp med å kalle det PostgreSQL, hvis første åpen kildekode-versjon ble utgitt 1. august 1996. Den første formelle versjonen av PostgreSQL ( 6.0) ble utgitt i januar 1997. Siden den gang har mange entusiastiske utviklere av databasemotorer sluttet seg til prosjektet, koordinert via Internett, og sammen begynte å inkorporere mange funksjoner i motoren.
Selv om lisensen tillot PostgreSQL å bli kommersialisert, ble ikke koden opprinnelig utviklet for kommersielle formål, noe som er overraskende med tanke på fordelene som PostgreSQL ga. Hovedspinoffen oppsto da Paula Hawthtorn (et medlem av det originale Ingres-teamet som flyttet til Postgres) og Michael Stonebraker dannet Illustra Information Technologies for å kommersialisere Postgres.
I 2000 opprettet tidligere Red Hat -investorer Great Bridge-selskapet for å markedsføre PostgreSQL og konkurrere mot kommersielle databaseleverandører. Great Bridge sponset flere PostgreSQL-utviklere og donerte ressurser tilbake til fellesskapet, men stengte i slutten av 2001 på grunn av hard konkurranse fra selskaper som Red Hat og dårlige markedsforhold.
I 2001 ga Command Prompt, Inc. ut Mammonth PostgreSQL, den eldste kommersielle distribusjonen av PostgreSQL. Den fortsetter å støtte PostgreSQL-fellesskapet ved å sponse utviklere og prosjekter, inkludert PL/Perl, PL/php, og være vertskap for fellesskapsprosjekter som PostgreSQL Build Farm.
I januar 2005 mottok PostgreSQL støtte fra databaseleverandøren Pervasive Software , kjent for sitt Btrieve- produkt som ble brukt på Novell Netware - plattformen . Gjennomgående annonserte kommersiell støtte og samfunnsengasjement og oppnådde en viss suksess. I juli 2006 forlot den imidlertid PostgreSQL-støttemarkedet.
I midten av 2005 kunngjorde to andre selskaper planer om å kommersialisere PostgreSQL med vekt på separate nisjemarkeder. EnterpriseDB la til funksjonalitet som gjorde applikasjoner skrevet for å fungere med Oracle enklere å kjøre med PostgreSQL. Greenplum bidro med forbedringer direkte til Data Warehouse- og Business Intelligence -applikasjoner , inkludert BizGres-prosjektet.
I oktober 2005 kommenterte John Loiacono, konserndirektør for programvare hos Sun Microsystems , "Vi går ikke etter Microsoft OEM , men vi ser på PostgreSQL nå", selv om ingen spesifikasjoner ble gitt på den tiden. Fra november 2005 inkluderte Sun Solaris 10 (6/06-utgivelse) PostgreSQL.
I august 2007 kunngjorde EnterpriseDB Postgres Resource Center og EnterpriseDB Postgres, designet for å være en fullt konfigurert PostgreSQL-distribusjon, inkludert mange tilførte og lagt til moduler. EnterpriseDB Postgres ble omdøpt til Postgres Plus i mars 2008.
PostgreSQL-prosjektet fortsetter å lage store utgivelser årlig og mindre feilrettingsutgivelser, alle tilgjengelige under PostgreSQL-lisensen, og basert på bidrag fra kommersielle leverandører, medvirkende selskaper og for det meste åpen kildekode-utviklere.
Noen av hovedfunksjonene er blant annet:
Gjennom et system kalt MVCC (Multi-Version Concurrent Access) tillater PostgreSQL at mens én prosess skriver til en tabell, får andre tilgang til samme tabell uten behov for låser. Hver bruker får en konsistent visning.
PostgreSQL gir naturlig støtte for:
I tillegg kan brukere lage sine egne datatyper, som kan være fullt indekserbare takket være PostgreSQLs GiST-infrastruktur. Noen eksempler er GIS -datatypene opprettet av PostGIS- prosjektet .
Så ved å kombinere disse seks funksjonene, vil PostgreSQL tillate deg å lage omfattende funksjonalitet gjennom triggersystemet .
Kodeblokker som kjøres på serveren. De kan skrives på flere språk, med kraften som hver av dem gir, fra grunnleggende programmeringsoperasjoner, som forgreninger og løkker, til kompleksiteten ved objektorientert programmering eller funksjonell programmering.
Triggere er funksjoner knyttet til operasjoner på data.
Noen av språkene som kan brukes er følgende:
PostgreSQL støtter funksjoner som returnerer "rader", der utdata kan behandles som et sett med verdier som kan behandles på samme måte som en rad returnert av en spørring.
Funksjonene kan defineres til å bli utført med rettighetene til den utførende brukeren eller med rettighetene til en tidligere definert bruker. Konseptet med funksjoner, i andre DBMS, blir ofte referert til som "lagrede prosedyrer".
-Sikkerhet i generelle termer
-Integritet i DB: begrensninger i domenet
-Referanseintegritet
- Påstander
-Triggere
-Autorisasjoner
-Kobling til databasestyringssystem
-Transaksjoner og backup
PGDG utvikler bare datamotoren og et lite antall verktøy, for å forbedre arbeidet med PostgreSQL er det vanligvis nødvendig å legge til eksterne verktøy laget spesielt for denne motoren, noen av disse verktøyene er:
1.Shanick
Utgivelse | første utgave | Siste mindre versjon | siste utgivelse |
---|---|---|---|
0,01 | 1995-05-01 | 0,03 | 1995-07-21 |
1.0 | 1995-09-05 | 1.09 | 1996-11-04 |
6.0 | 1997-01-29 | − | |
6.1 | 1997-06-08 | 6.1.1 | 1997-07-85 |
6.2 | 1997-10-02 | 6.2.1 | 1997-10-17 |
6.3 | 1998-03-01 | 6.3.2 | 1998-04-07 |
6.4 | 1998-10-30 | 6.4.2 | 1998-12-20 |
6.5 | 1999-06-09 | 6.5.3 | 1999-10-13 |
7.0 | 2000-05-08 | 7.0.3 | 2000-11-11 |
7.1 | 2001-04-13 | 7.1.3 | 2001-08-15 |
7.2 | 2002-02-04 | 7.2.8 | 2005-05-09 |
7.3 | 2002-11-27 | 7.3.21 | 2008-01-07 |
7.4 | 2003-11-17 | 7.4.30 | 2010-10-04 |
8.0 | 2005-01-19 | 8.0.26 | 2010-10-04 |
8.1 | 2005-11-08 | 8.1.23 | 2010-12-16 |
8.2 | 2006-12-05 | 8.2.23 | 2011-09-26 |
8.3 | 2008-02-04 | 8.3.23 | 2013-02-07 |
8.4 | 2009-07-01 | 8.4.22 | 2014-07-24 |
9,0 | 2010-09-20 | 9.0.23 | 2015-10-08 |
9.1 | 2011-09-12 | 9.1.24 | 2016-10-27 |
9.2 | 2012-09-10 | 9.2.19 | 2016-10-27 |
9.3 | 2013-09-09 | 9.3.15 | 2016-10-27 |
9.4 | 2014-12-18 | 9.4.20 | 2016-10-27 |
9.5 | 2016-01-07 | 9.5.15 | 2016-10-27 |
9.6 | 2016-09-29 | 9.6.11 | 2016-10-27 |
10 | 2017-10-05 | 10.6 | 2017-10-05 |
elleve | 2018-10-18 | 11.1 | 2018-10-18 |
Støttet av samfunnet |
Ingen støtte fra samfunnet [ 3 ] |
Takket være BSD -lisensen er det tillatt å kommersialisere bruken av koden. En av casestudiene er Enterprise DB (Postgresql Plus), som inkluderer ulike plugins og et Java -basert utviklingsgrensesnitt . Blant andre selskaper som bruker Postgresql for å markedsføre er CyberTech (Tyskland), med sitt CyberCluster-produkt.
pgAdmin-prosjektet ble grunnlagt og har David Page som hovedutvikler.
Dette verktøyet begynte å bli skrevet i Visual Basic og over tid har det endret språk.
I desember 2014 kunngjorde Dave Page at med overgangen til nettbaserte modeller begynte arbeidet med pgAdmin 4 med mål om å lette skydistribusjoner.
PgAccess Visuelt skrivebordsmiljø. PhpPgAdmin Webmiljø. psql Konsollklient. Database Master Visuelt skrivebordsmiljø.PostgreSQL har mottatt følgende priser: [ 8 ]