PostgreSQL: Difference between revisions
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
{| class="standard" | {| class="standard" | ||
|- | |- | ||
|Maksimaalne andmebaasi suurus|| | |Maksimaalne andmebaasi suurus||Piiranguid ei ole | ||
|- | |- | ||
|Maksimaalne tabeli suurus|| | |Maksimaalne tabeli suurus||32 Tbaiti | ||
|- | |- | ||
|Maksimaalne kirjapaneku suurus|| | |Maksimaalne kirjapaneku suurus||1,6 Tbaiti | ||
|- | |- | ||
|Maksimaalne veergude suurus|| | |Maksimaalne veergude suurus||1 Gbaiti | ||
|- | |- | ||
|Maksimaalne kirjapanekuid tabelis|| | |Maksimaalne kirjapanekuid tabelis||Piiranguid ei ole | ||
|- | |- | ||
|Maksimaalne veergude arv tabelis|| | |Maksimaalne veergude arv tabelis||250—1600, sõltuvalt veergude tüübidest | ||
|- | |- | ||
|Maksimaalne indekstite arv tabelis|| | |Maksimaalne indekstite arv tabelis||Piiranguid ei ole | ||
|} | |} | ||
Revision as of 13:20, 8 May 2010
PostgreSQL, tihti lihtsalt Postgres, on objekt-relatsiooniline andmebaasi juhtimissüsteem.
PostgreSQL on tasuta ja avatud lähtekoodiga tarkvara. Võrreldes paljude teiste avatud lähtekoodiga programmidega, PostgreSQL ei kontrolli mitte ükski ettevõtte, vaid on globaalne kogukond arendajad ja firmad selle arendamiseks.
PostgreSQL oli üks esimesi andmebaase, mis pakkus MVCC’d (Multi-Version Concurrency Control, multiversioon-konkurentsjuhtimine on meetod ühiskasutusega andmebaaside jõudluse tõstmiseks), et võiks loobuda realukustusest ja tabelilukustusest ja loomulikult see parandab süsteemi efektiivsust kasutades andmebaasi. PostgreSQL realiseerib ANSI SQL laiendatud alamklassi. Ta töötab paljudel platvormidel. PostrgeSQL AB'sis on olemas erinevad liidesed paljude erinevate programmikeelte ja AB protokollide jaoks. Näiteks: ODBC ja JDBC.
Omadused
Praegu (versioon 8.4.0), PostgreSQL's on järgmised piirangud:
Maksimaalne andmebaasi suurus | Piiranguid ei ole |
Maksimaalne tabeli suurus | 32 Tbaiti |
Maksimaalne kirjapaneku suurus | 1,6 Tbaiti |
Maksimaalne veergude suurus | 1 Gbaiti |
Maksimaalne kirjapanekuid tabelis | Piiranguid ei ole |
Maksimaalne veergude arv tabelis | 250—1600, sõltuvalt veergude tüübidest |
Maksimaalne indekstite arv tabelis | Piiranguid ei ole |
PostgreSQL'i tugevad küljed on:
- Toetus praktiliselt andmebaasi piiramatu suurusi;
- Võimsad ja usaldusväärsed tehingute ja replikatsiooni mehhanismid;
- Pärandamine;
- Lihtne tugi.
Usaldusväärsus
Pärast erinevate automatiseeritude uuringute on teada, et PostgreSQL lähtekoodis leiti 20 probleemset kohti 775000 rida lähtekoodi (keskmiselt üks viga 39 000 rida koodi kohta). Võrdluseks: MySQL - 97 probleeme, üks viga 4000 rida koodi kohta; FreeBSD (terve) - 306 probleeme, üks viga 4000 rida koodi kohta; Linux (kernel ainult) - 950 probleeme, üks viga 10 000 rida koodi kohta.
PostgreSQL installeerimine ja konfigureerimine (Ubuntu-server)
Logi sisse juurkasutaja õigustega:
sudo -i
Installeerimine
Tegelikult, paigaldada võib ühe käsuga:
sudo apt-get install postgresql postgresql-contrib postgresql-client -y
Kõik, DBMS PostgreSQL paigaldatud ja töökorras.
Konfigureerimine
Kuid, tegelikult andmebaasiga töötamiseks, tuleb teha veel mõned asjad:
Tuleb määrata postgres root parooli:
Nüüd on vaja saada postgres'i kasutajaks:
sudo su postgres
Käivitame terminaali meie andmebaasile:
psql
Muudame kasutaja parooli:
alter user postgres with password 'uus parool'
Näiteks:
alter user postgres with password '&932j(_dskoGhdDG'
Importeerime skripti, mis sisaldab täiustatud "logeerimise" ja "monitooringu" funktsioone pgAdmin'le
\i /usr/share/postgresql/8.3/contrib/adminpack.sql
Sulgeme terminaali ja väljume postgre sessioonist:
\q exit
Lubame ligipääsu meie andmebaasile teistest masinatest. Selleks meil on vaja redigeerida kaks faili.
Fail /etc/postgresql/8.3/main/postgresql.conf.
Avame faili tekstiredaktoriga nano:
nano /etc/postgresql/8.3/main/postgresql.conf
Selleks otsime sektsiooni CONNECTIONS AND AUTHENTICATION ja muudame rida
#listen_addresses = 'localhost'
niimodi:
listen_addresses = '*'
Fail /etc/postgresql/8.3/main/pg_hba.conf.
Läheme faili lõppu ja otsime ridad:
# IPv4 local connections: host all all 127.0.0.1/32 md5
127.0.0.1/32 see on lubatud võrgu mask, asendame vastavalt meie võrgu maskiga, näiteks:
host all all 192.168.1.0/24 md5
s.t. see võimaldab kõiki ühendusi aadressist 192.168.1.1 kuni 192.168.1.254.
Võime lisada konkreetse masinat, kui on vaja tagada turvalisust, nt.:
host all all 192.168.1.3/32 md5
Teeme restart:
/etc/init.d/postgresql-8.3 restart
Varukoopia salvestamine ja taastamine
Varukoopiad tegemine on väga tähtis osa. Teeme seda, kasutades pg_dump käsu. pg_dump on PostgreSQL utiliit andmebaasi varundamiseks. Ta puistab ainult ühte andmebaasi korraga. Üldine süntaks: pg_dump databasename > outputfile. Kasutame andmebaasi nimega "payroll".
pg_dump payroll > payroll.dump.out
Taastada andmebaasi saab käsuga:
psql -d payroll -f payroll.dump.out
Huvitavad fakte
- Skype kasutab PostgreSQL'i nagu peamise andmebaasina enamiku äri vajadustele.
- Yahoo ütleb, et ta suutis võita maailmarekord, luues suurim ja kõige koormatud andmebaasi kogu maailmas! Eelmisel aastal andmebaasi maht saavutas 2 Petabaiti. Aga nüüd kõige huvitavam. Selle monstri haldab modifitseeritud PostgreSQL. :)
Autor
Sergei Barol A21
sbarol@itcollege.ee
Allikad
http://www.postgresql.org/about/
http://en.wikipedia.org/wiki/Postgresql
http://www.cyberciti.biz/tips/howto-backup-postgresql-databases.html
http://www.thegeekstuff.com/2009/01/how-to-backup-and-restore-postgres-database-using-pg_dump-and-psql