PostgreSQL

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
              Tester
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 ]

Produktnavn

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.

Historikk

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.

Funksjoner

Noen av hovedfunksjonene er blant annet:

Høy valgdeltakelse

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.

Stort utvalg av innfødte typer

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 .

Andre funksjoner

Så ved å kombinere disse seks funksjonene, vil PostgreSQL tillate deg å lage omfattende funksjonalitet gjennom triggersystemet .

Funksjoner

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".

Fordeler

-Sikkerhet i generelle termer

-Integritet i DB: begrensninger i domenet

-Referanseintegritet

- Påstander

-Triggere

-Autorisasjoner

-Kobling til databasestyringssystem

-Transaksjoner og backup

Produkter rundt PostgreSQL

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

Utgivelseshistorikk

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 Nei 1996-11-04
6.0 1997-01-29
6.1 1997-06-08 6.1.1 Nei 1997-07-85
6.2 1997-10-02 6.2.1 Nei 1997-10-17
6.3 1998-03-01 6.3.2 Nei 1998-04-07
6.4 1998-10-30 6.4.2 Nei 1998-12-20
6.5 1999-06-09 6.5.3 Nei 1999-10-13
7.0 2000-05-08 7.0.3 Nei 2000-11-11
7.1 2001-04-13 7.1.3 Nei 2001-08-15
7.2 2002-02-04 7.2.8 Nei 2005-05-09
7.3 2002-11-27 7.3.21 Nei 2008-01-07
7.4 2003-11-17 7.4.30 Nei 2010-10-04
8.0 2005-01-19 8.0.26 Nei 2010-10-04
8.1 2005-11-08 8.1.23 Nei 2010-12-16
8.2 2006-12-05 8.2.23 Nei 2011-09-26
8.3 2008-02-04 8.3.23 Nei 2013-02-07
8.4 2009-07-01 8.4.22 Nei 2014-07-24
9,0 2010-09-20 9.0.23 Nei 2015-10-08
9.1 2011-09-12 9.1.24 Nei 2016-10-27
9.2 2012-09-10 9.2.19 Nei 2016-10-27
9.3 2013-09-09 9.3.15 Nei 2016-10-27
9.4 2014-12-18 9.4.20 Ja 2016-10-27
9.5 2016-01-07 9.5.15 Ja 2016-10-27
9.6 2016-09-29 9.6.11 Ja 2016-10-27
10 2017-10-05 10.6 Ja 2017-10-05
elleve 2018-10-18 11.1 Ja 2018-10-18
Ja Støttet av samfunnet
Nei Ingen støtte fra samfunnet [ 3 ]

Kommersielle alternativer

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.

GIS

PostGIS Utvidelse som legger til støtte for geografiske objekter til PostgreSQL og tillater analyse gjennom romlige SQL-spørringer eller gjennom tilkobling til GIS -applikasjoner (Geographic Information System).

Replikering

PgCluster Multi master replikering. Slony-I Master slave replikering. pyreplica Asynkron master-slave og multi-master replikering.

Administrasjonsverktøy

pgAdmin Gratis og åpen kildekode visuelt skrivebordsmiljø. Installerbar på Linux , FreeBSD , Solaris , Mac OSX og Windows-plattformer . Den lar deg koble til PostgreSQL-databaser som kjører på hvilken som helst plattform. Den er tilgjengelig på forskjellige språk. Det forenkler administrasjon og administrasjon av databaser enten gjennom SQL-instruksjoner eller ved hjelp av et grafisk miljø. Gir tilgang til alle funksjonene til databasen; spørring, manipulering og databehandling, inkludert avanserte alternativer som manipulering av Slony-I-replikeringsmotoren.

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ø.

Tekstsøk

Fulltekstsøk Inkludert i kjernen fra og med versjon 8.3. Via Tsearch2 og OpenFTS for versjoner før 8.3.

XML

XML / XSLT- støtte Via XPath-utvidelser i bidragsdelen .

Utvalgte brukere

Priser

PostgreSQL har mottatt følgende priser: [ 8 ]

Se også

Referanser

  1. ^ a b "Lisens" . PostgreSQL Global Development Group . Hentet 24. august 2015 . 
  2. En feilsporer for PostgreSQL?
  3. ^ "Versjonspolicy" . PostgreSQL Global Development Group . Hentet 30. januar 2012 . 
  4. https://www.postgresql.org/about/news/1704/
  5. PostgreSQL affiliates.ORG-domene
  6. Sony Online velger åpen kildekode-database over Oracle
  7. CartoCiudad nettsted. Kartografi av det kontinuerlige veinettet og det nasjonale omfanget som går gjennom befolkningssentrene i Spania og inkluderer post- og folketellingsavgrensninger for hele territoriet
  8. "PostgreSQL, prisvinnende programvare" . postgresql.org. 19. januar 2008. Arkivert fra originalen 12. februar 2018 . Hentet 31. januar 2008 . 

Eksterne lenker