Hopp til innhold

PostgreSQL: Forskjell mellom sideversjoner

Fra Wikipedia, den frie encyklopedi
Slettet innhold Innhold lagt til
TommyG (diskusjon | bidrag)
mIngen redigeringsforklaring
TommyG (diskusjon | bidrag)
Kopiert fra Linuxguiden.no
Linje 1: Linje 1:
PostgreSQL er en avansert [[SQL]]-[[databasetjener]] med en tilnærmet komplett støtte for [[SQL|SQL92]]- og [[SQL|SQL99]]-standardene.
'''PostgreSQL''' er et objektorientert relasjonsdatabase styringssystem som har sitt opphav fra [[Berkely Univerity of California]] i [[1977]].


== Historie og lisensiering ==
Det startet som et prosjekt med navn Ingres, som senere ble omgjort til et kommersielt produkt. I [[1986]] startet et prosjekt for å videreutvikle Ingres til objektorientering, under navnet Postgres. Fra [[1996]] ble dette videreutviklet for åpen kildekode, og med ny funksjonalitet, og fikk da navnet PostgreSQL, etter en kort mellomperiode som Postgres95. PostgreSQL er fortsatt under utvikling, og vedlikeholdes av et internasjonalt team av medarbeidere. PostgreSQL følgere SQL92-standarden, og i tillegg mange av egenskapene for SQL99. Det distribueres som åpen kildekode, og er gratis for all bruk.
PostgreSQL er basert på POSTGRES, som ble utviklet ved University of California. PostgreSQL er i dag et [[åpen kildekode]]-prosjekt, med en svært liberal [[lisens]]. Denne gjør at PostgreSQL kan brukes, modifiseres og distribueres av såvel private som kommersielle foretag uten noen som helst økonomisk kompensasjon til de originale utviklerne.

PostgreSQL har en lang rekke egenskaper som man forventer av et fullverdig databasesystem. Disse er blant annet komplekse spørringer, fremmednøkler, utløsere (eng: ''triggere''), visninger (eng: ''views'') og transaksjoner.

Det er også store muligheter for [[bruker]]ne selv til å utvide PostgreSQLs egenskaper, og det er f.eks mulig å legge til nye datatyper, funksjoner, operatører, aggregerte funksjoner, index-metoder og prosedyrespråk.

==Tekniske egenskaper==

* Full [[ACID]]-støtte.
* Kompatibilitet med [[ANSI]] [[SQL]]-standarden
* Referanseintegritet
* [[PostgreSQL#Replikering og lastbalansering|Replikering]]. Se eget avnsitt i denne artikelen.
* Innebygd grensesnitt for [[ODBC]], [[JDBC]], [[C]], [[C plus plus|C++]], [[PHP]], [[Perl]], [[TCL]], [[ECPG]], [[Python]], og [[Ruby]]
* Regler (eng: ''rules'')
* Visninger.(eng: ''views'')
* Utløsere (eng: ''[[trigger (database)|triggers]]'')
* [[Unicode]]
* Sekvenser
* Objektrelasjonsstøtte gjennom arv.
* Ytre sammenføyninger (eng: ''outer joins'')
* Underspørringer (eng: ''sub-selects'')
* Et åpent [[API]]
* Lagrede prosedyrer
* Innebygget [[SSL]]-støtte
* Prosedyrespråk
* Bedre enn radnivålåsing
* Funksjonelle og begrensede indexer
* Innebygget [[Kerberos]]-[[autentisering]]
* Støtte for spørringer som UNION, UNION ALL og EXCEPT
* Lastbare utvidelser med støtte for [[SHA1]], [[MD5]], [[XML]] og annen funksjonalitet
* Utvidbart datatypesystem, som gjør det mulig å definere egne [[datatyper]]


==Administrasjonsverktøy==
Det finnes en rekke grafiske verktøy for administrasjon av PostgreSQL.
[http://www.pgadmin.org/ pgadmin], [http://www.pgaccess.org/ pgaccess] og [http://phppgadmin.sourceforge.net/ phpPgAdmin] er antageligvis blant de mest kjente.

==Replikering og lastbalansering==
Det er i dag flere [[replikering|replikerings-tillegg]] for PostgreSQL. Den mest omtalte nå er [[slony|Slony-I]] som er utviklet av en av PostgreSQL sine hovedutviklere. Slony-I er et master-slave [[replikering|replikerings-system]] som gir mulighet for for å replikere databasene til en eller flere slavesystemer. Dette kan godt brukes til f.eks. feilhåndtering hvis databasetjeneren feiler.

I likhet med replikering er [[lastbalansering]] noe mange trenger. [[Pgpool]] er en av flere løsninger for lastbalansering. [[Pgpool]] gir mulighet til å spre belastningen over flere [[replikering|replikerte]] PostgreSQL-[[tjener|tjenere]]. Pgpool kan brukes sammen med [[slony|Slony-I]].

Det var lenge en debatt rundt replikerings-mulighetene til PostgreSQL. Det var flere tillegg, men noen var [[godseid programvare]] mens andre var uferdige. I dag brukes [[Pgpool]] og [[slony|Slony-I]] i mange større løsninger internasjonalt.

==Brukerstøtte==
PostgreSQL har et stort online utviklersamfunn, og det er derfor lett å få hjelp om man står fast.

Første stopp bør alltid være [http://www.postgresql.org/docs/ dokumentasjonen].

[http://www.postgresql.org/community/lists/ E-postlistene] er neste stopp dersom man ikke finner frem til det man trenger i dokumentasjonen. Det finnes en lang rekke e-postlister, og det lønner seg å se over beskrivelsen av alle, slik at man velger den listen som er mest relevant for det spørsmålet du ønsker svar på. E-postlistene er også tilgjengelig for lesing gjennom [[nyhetsgrupper]], på servere news.postgreqsql.org.

Til slutt har man [http://www.postgresql.org/community/irc #postgresql] på irc.freenode.net som er en [[Internet Relay Chat|IRC-kanal]] på [[freenode]]nettverket. Her sitter det ofte mange svært kunnskapsrike folk, og er en god plass å gå dersom man har vært igjennom punktene over, og fremdeles ikke kommer noen vei.

==Eksterne ==
*[http://www.postgresql.org hjemmeside]
*[http://pgfoundry.org/ Prosjekter relatert til PostgreSQL]
*[http://www.postgresql.org/community/weeklynews/ PostgreSQL Weekly News]
*[http://www.varlena.com/varlena/GeneralBits/ PostgreSQL General Bits Newsletter]
*[http://pgsql.ru/ Søketjeneste for epostlistene og dokumentasjonen]

[[Kategori:Database]]


==Eksterne lenker==
* [http://www.postgresql.org Offisiel hjemmeside]


[[Kategori:Programvare]]
[[Kategori:Programvare]]

Sideversjonen fra 17. aug. 2006 kl. 10:43

PostgreSQL er en avansert SQL-databasetjener med en tilnærmet komplett støtte for SQL92- og SQL99-standardene.

Historie og lisensiering

PostgreSQL er basert på POSTGRES, som ble utviklet ved University of California. PostgreSQL er i dag et åpen kildekode-prosjekt, med en svært liberal lisens. Denne gjør at PostgreSQL kan brukes, modifiseres og distribueres av såvel private som kommersielle foretag uten noen som helst økonomisk kompensasjon til de originale utviklerne.

PostgreSQL har en lang rekke egenskaper som man forventer av et fullverdig databasesystem. Disse er blant annet komplekse spørringer, fremmednøkler, utløsere (eng: triggere), visninger (eng: views) og transaksjoner.

Det er også store muligheter for brukerne selv til å utvide PostgreSQLs egenskaper, og det er f.eks mulig å legge til nye datatyper, funksjoner, operatører, aggregerte funksjoner, index-metoder og prosedyrespråk.

Tekniske egenskaper

  • Full ACID-støtte.
  • Kompatibilitet med ANSI SQL-standarden
  • Referanseintegritet
  • Replikering. Se eget avnsitt i denne artikelen.
  • Innebygd grensesnitt for ODBC, JDBC, C, C++, PHP, Perl, TCL, ECPG, Python, og Ruby
  • Regler (eng: rules)
  • Visninger.(eng: views)
  • Utløsere (eng: triggers)
  • Unicode
  • Sekvenser
  • Objektrelasjonsstøtte gjennom arv.
  • Ytre sammenføyninger (eng: outer joins)
  • Underspørringer (eng: sub-selects)
  • Et åpent API
  • Lagrede prosedyrer
  • Innebygget SSL-støtte
  • Prosedyrespråk
  • Bedre enn radnivålåsing
  • Funksjonelle og begrensede indexer
  • Innebygget Kerberos-autentisering
  • Støtte for spørringer som UNION, UNION ALL og EXCEPT
  • Lastbare utvidelser med støtte for SHA1, MD5, XML og annen funksjonalitet
  • Utvidbart datatypesystem, som gjør det mulig å definere egne datatyper


Administrasjonsverktøy

Det finnes en rekke grafiske verktøy for administrasjon av PostgreSQL. pgadmin, pgaccess og phpPgAdmin er antageligvis blant de mest kjente.

Replikering og lastbalansering

Det er i dag flere replikerings-tillegg for PostgreSQL. Den mest omtalte nå er Slony-I som er utviklet av en av PostgreSQL sine hovedutviklere. Slony-I er et master-slave replikerings-system som gir mulighet for for å replikere databasene til en eller flere slavesystemer. Dette kan godt brukes til f.eks. feilhåndtering hvis databasetjeneren feiler.

I likhet med replikering er lastbalansering noe mange trenger. Pgpool er en av flere løsninger for lastbalansering. Pgpool gir mulighet til å spre belastningen over flere replikerte PostgreSQL-tjenere. Pgpool kan brukes sammen med Slony-I.

Det var lenge en debatt rundt replikerings-mulighetene til PostgreSQL. Det var flere tillegg, men noen var godseid programvare mens andre var uferdige. I dag brukes Pgpool og Slony-I i mange større løsninger internasjonalt.

Brukerstøtte

PostgreSQL har et stort online utviklersamfunn, og det er derfor lett å få hjelp om man står fast.

Første stopp bør alltid være dokumentasjonen.

E-postlistene er neste stopp dersom man ikke finner frem til det man trenger i dokumentasjonen. Det finnes en lang rekke e-postlister, og det lønner seg å se over beskrivelsen av alle, slik at man velger den listen som er mest relevant for det spørsmålet du ønsker svar på. E-postlistene er også tilgjengelig for lesing gjennom nyhetsgrupper, på servere news.postgreqsql.org.

Til slutt har man #postgresql på irc.freenode.net som er en IRC-kanalfreenodenettverket. Her sitter det ofte mange svært kunnskapsrike folk, og er en god plass å gå dersom man har vært igjennom punktene over, og fremdeles ikke kommer noen vei.

Eksterne ressurser