PostgreSQL
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, ei kontrolli PostgreSQL-i ühegi konkreetse ettevõtte kontrolli all. Programmi arendusega tegeleb globaalne kogukond, mis koosneb erinevatest arendajatest ja firmadest.
PostgreSQL oli üks esimesi andmebaase, mille funktsionaalsuse hulka kuulus multiversioon-konkurentsjuhtimine (MVCC, Multi-Version Concurrency Control) - meetod ühiskasutusega andmebaaside jõudluse tõstmiseks, et loobuda rea- ja tabelilukustusest süsteemi efektiivsuse parandamise eesmärgil.
PostgreSQL realiseerib ANSI SQL laiendatud alamklassi ning toimib paljudel erinevatel platvormidel. PostgreSQL andmebaas sisaldab liideseid erinevate programmeerimiskeelte ja andmebaasi protokollide tarbeks (nt. ODBC ja JDBC).
Omadused
PostgreSQL piirangud (versioon 8.4.0):
Maksimaalne andmebaasi suurus | Piiranguid ei ole |
Maksimaalne tabeli suurus | 32 TB |
Maksimaalne kirjapaneku suurus | 1,6 TB |
Maksimaalne veergude suurus | 1 GB |
Maksimaalne kirjapanekute maht 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:
- Toetab praktiliselt piiramatut andmebaasi suurust;
- Võimsad ja usaldusväärsed tehingute ja replikatsiooni mehhanismid;
- Päringud;
- Lihtne tugi.
Usaldusväärsus
Erinevate automatiseeritud uuringute baasil on teada, et PostgreSQL lähtekoodis on keskmiselt üks viga 39 000 koodirea kohta (775000 lähtekoodi rida, leiti 20 probleemset kohta)
Võrdlus:
- MySQL - 97 probleemi, üks viga 4000 koodirea kohta;
- FreeBSD (terve) - 306 probleemi, üks viga 4000 koodirea kohta;
- Linux (kernel) - 950 probleemi, üks viga 10 000 koodirea kohta.
PostgreSQL installeerimine ja konfigureerimine (Ubuntu-server)
Sisselogimine juurkasutaja õigustes:
sudo -i
Installeerimine
PostgreSQL paigaldamiseks tuleb käivitada käsk:
sudo apt-get install postgresql postgresql-contrib postgresql-client -y
Tulemusena on DBMS PostgreSQL paigaldatud ja töökorras.
Konfigureerimine
Andmebaasiga töötamiseks on tarvis teha veel mõned operatsioonid:
PostgreSQL juurkasutaja parooli määramine ja kasutajakonto loomine:
sudo su postgres
Andmebaasi käivitamine:
psql
Muudame kasutaja parooli:
alter user postgres with password 'uus parool'
Näiteks:
alter user postgres with password '&932j(_dskoGhdDG'
Skripti import, mille tulemusena seadistatakse täiustatud logimise ja monitooringu funktsioonid:
\i /usr/share/postgresql/8.3/contrib/adminpack.sql
Sulgeme terminali ja väljume postgre sessioonist:
\q exit
Lubame ligipääsu andmebaasile teistest seadmetest. Selleks on vaja redigeerida kaks faili: postgresql.conf ja pg_hba.conf
Fail /etc/postgresql/8.3/main/postgresql.conf.
Avame faili tekstiredaktoriga nano:
nano /etc/postgresql/8.3/main/postgresql.conf
Selleks on vaja leida sektsioonist CONNECTIONS AND AUTHENTICATION vastav rida:
#listen_addresses = 'localhost'
Rea muutmine:
listen_addresses = '*'
Fail /etc/postgresql/8.3/main/pg_hba.conf.
Läheme faili lõppu ja otsime read:
# IPv4 local connections: host all all 127.0.0.1/32 md5
127.0.0.1/32 on lubatud võrgu mask, asendame vastavalt vajaliku võrgu maskiga, näiteks:
host all all 192.168.1.0/24 md5
Tulemusena on lubatud ühendused IP aadresside vahemikust 192.168.1.1 kuni 192.168.1.254.
Vajadusel võib turvalisuse tagamiseks lisada ka konkreetse ühenduse, näiteks:
host all all 192.168.1.3/32 md5
PostgreSQL teenuse taaskäivitamine:
/etc/init.d/postgresql-8.3 restart
Varukoopia salvestamine ja taastamine
Andmebaasi varundamine on väga tähtis osa, mille läbiviimiseks on kasutada pg_dump utiliit. Üheaegselt on võimalik varundada vaid ühte andmebaasi.
Üldine süntaks: pg_dump andmebaas > väljundfail. Näitena kasutame andmebaasi nimega "payroll".
pg_dump payroll > payroll.dump.out
Andmebaasi taastamine:
psql -d payroll -f payroll.dump.out
Huvitavad fakte
- Skype kasutab PostgreSQL'i peamise andmebaasina.
- Yahoo sõnul suudeti võita maailma suurima ja koormatuima andmebaasi rekord, kasutades modifitseeritud PostgreSQL andmebaasi. Andmebaasi maht ületab 2 petabaiti.
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