PostgreSQL
Historia

PostgreSQL:n pitkä evoluutio alkoi Ingres-projektista Berkeleyn yliopistossa. Ingresin kehittäjä Michael Stonebraker lähti Berkeleystä tekemään Ingresin kaupallista versiota 1982, mutta palasi myöhemmin takaisin akateemiseen maailmaan. Palattuaan Berkeleyhin Stonebraker aloitti Ingresin jälkiprojektin, joka kohdistettiin vastaamaan tuonaikaisten tietokantojen ongelmiin.
Tuloksena ollut projekti, nimeltään Postgres (post-Ingres), tähtäsi minimimäärään ominaisuuksia, joilla voitiin antaa täysi tuki erilaisille tietotyypeille. Nämä ominaisuudet sisälsivät mahdollisuuden tyyppien luontiin, mutta myös täyden relaatioiden kuvailukyvyn – jo aikaisemmin laajalti käytetyn, mutta pelkästään käyttäjän ylläpitämänä ja määrittelemänä. Postgres:issa tietokanta ymmärsi relaatioita ja kykeni sääntöjen avulla hakemaan informaatiota toisiinsa liittyvistä tauluista luonnollisella tavalla. Postgresin ja Ingresin lähdekoodit olivat jo alusta alkaen täysin erilliset.
Stonebraker ja Lawrence A. Rowe esittelivät Postgresin suunnitelman artikkelissa The design of Postgres.
Alkaen vuodesta 1986 työryhmä julkaisi useita muistioita, joissa esiteltiin järjestelmän perusominaisuudet ja vuonna 1988 projektilla oli olemassa toimiva prototyyppi. Työryhmä julkaisi version 1 rajoitetulle käyttäjäkunnalle kesäkuussa 1989, jota seurasi versio 2 uusiksi kirjoitetulla sääntöjärjestelmällä kesäkuussa 1990. Vuoden 1991 versiossa 3 oli jälleen uusi sääntöjärjestelmä, mutta myös tuki useille tallennejärjestelmille ja paranneltu kyselyjärjestelmä. Vuoteen 1993 mennessä oli järjestelmälle kertynyt suuri määrä käyttäjiä jotka hukuttivat projektin tuki- ja ominaisuuspyyntöihin. Version 4 jälkeen — joka oli puhtaasti pelkästään olemassa olevan koodin siivous — projekti päättyi.
Stonebraker perusti yhtiön nimeltä Illustra vuonna 1992 Postgresin kaupallisen version kehittämistä varten. Stonebrakerin tietämättä Berkeleystä valmistuneet Andrew Yu ja Jolly Chen alkoivat kehittää vuonna 1994 avoimen lähdekoodin versiota, jossa he korvasivat POSTQUEL-kielen SQL-kielellä. Tuloksena syntynyt Postgres95 nimettiin uudelleen PostgreSQL:ksi ja julkaistiin sallivalla lisenssillä.
Ensimmäinen PostgreSQL:n nimellä tapahtunut julkistus oli versio 6.0. Sittemmin joukko tietokantakehittäjiä ja vapaaehtoisia ympäri maailman ovat koordinoidusti ylläpitäneet ohjelmistoa Internetin välityksellä. Version 6.0 jälkeen on julkaistu useita uusia versioita, samalla jatkaen ohjelmiston parantelua ja kehitystä; 20. syyskuuta 2010 julkaistiin uusin versio, 9.0.
Vaikkakin lisenssi mahdollisti PostgreSQL:n kaupallistamisen, PostgreSQL:n kaupallinen kehitystyö ei ollut yhtä nopeaa kuin Ingresin – joka on sinänsä yllättävää ottaen huomioon PostgreSQL:n edut Ingresiin verrattuna. Ensimmäinen isompi kaupallinen projekti syntyi, kun Paula Hawthorn (alkuperäinen Ingres-työryhmän jäsen, joka siirtyi Ingresistä) ja Michael Stonebraker muodostivat Illustra Information Technologiesin tehdäkseen PostgreSQL:stä kaupallisen version.
Tammikuussa 2005 PostgreSQL sai ensimmäisen tukijansa tietokantatoimittajista. Pervasive Software, parhaiten tunnettu Btrieve:stä, joka oli hyvin suosittu Novell Netware ympäristössä, julkisti kaupallisen tuotetuen ja sitoutumisensa kehitysyhteisöön. Tuon tapahtuman jälkeen, EnterpriseDB on julkistanut vastaavanlaisen sitoutumislupauksen, keskittyen ennen kaikkea Oraclea varten tehtyjen sovellusten siirron helpottamiseen PostgreSQL-ympäristöön. Greenplum on sponsoroinut kehitysprojekteja tietovarastointi ja business intelligence -sovelluksia silmällä pitäen, etenkin BizGres-projektia.
Marraskuussa 2005, John Loiacono, Sun Microsystemsin executive vice-president of software kommentoi, että "We're not going to OEM Microsoft but we are looking at PostgreSQL right now". Sun Microsystems kertoi suunnitelmistaan jakaa ja tukea PostgreSQL-tietokantaa, sekä integroida se Solaris-käyttöjärjestelmäänsä.
Versio 17 julkaistiin syyskuussa 2024. Uudessa versiossa vacuum-prosessin muistinkäyttöä on pienennetty merkittävästi ja levy-IO:ta on nopeutettu write-ahead log-käsittelyllä. Päivitysmenetelmää replikoinnin kanssa on parannettu eikä replikaatiota tarvitse kytkeä pois päivityksen ajaksi.