Erinevus lehekülje "Postgresql" redaktsioonide vahel
(→Paigaldus) |
(→Baasi loomine) |
||
72. rida: | 72. rida: | ||
− | Kui see kõik läks libedalt siis on peamiselt kõik korras; tavis vaid ivake kasutajete õigusi sättida ja kõik. | + | Kui see kõik läks libedalt siis on peamiselt kõik korras; tavis vaid ivake kasutajete õigusi sättida ja kõik. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Kasutajad-õigused=== | ===Kasutajad-õigused=== |
Redaktsioon: 27. juuni 2008, kell 23:43
Sissejuhatus
Postgresql on Berkeleys Ülikoolis arendatud postgres andmebaasi vabavaraline edasiarendus
PostgreSQL on relatsiooniline andmebaasihaldur mõningase objektorienteeritud kallakuga ning tehniliselt ja funktsionaalselt tõsine konkurent parimatele kommertsanaloogidele. Samuti oli ta üks esimesi andmebaase, mis pakkus MVCC’d vastukaaluks realukustusele või tabelilukustusele ning see parandab oluliselt süsteemi tõhusust andmebaasi ühiskasutuse korral.
Esimese pooleteise tunni jooksul tähelepandud erinevused võrreldes MySQL'iga:
- - kaasas on hea dokumentatsioon ja tutorid (ka PostScript'is) mida MySQL'il peaaegu polegi
- - erinevatele kasutajaltele erinevate õiguste andmine on keerulisem (sh. passwordid); siiski on lihtne anda lihtsaid õigusi
- - andmebaasi struktuurist kõneldes kasutatakse (tõenäoliselt põhjusega) mõisteid 'class', 'instance' jms mis on tuntud kui lähenetakse asjadele 'objekt- orienteeritud' seisukohast. Nt. MySQL'i andmeväli ei saa koosneda mitmest alamosast. Küll aga PostgrSQL'i puhul võib.
Paigaldus
Eesti peegel asub EENet serveris: ftp://ftp.ee.postgresql.org/pub/postgresql/
Installime postgres serveri vastavalt enda operatsioonisüsteemile
Seejärel on vajalik initsialiseerida andmebaas selleks anname järgnevad käsud.
Kaustaks kus andmebaasid asuvad hakkab olema /home/pgsql
mkdir /home/pgsql
Anname kausta postgres kasutaja õigustesse
chown -R postgres:postgres /home/pgsql
Lähme postgres kasutaja õigustesse. NB! vale kasutaja alt default baaside loomine lõpeb sellega ,et pole võimalik luua esimesi kasutajaid või muuta paroole.
su postgres
ning seejärel loome default keskkonna
initdb -D /home/pgsql
Kui kasutusel FreeBSD siis on postgres kasutajaks hoopis pgsql
Edasi võime juba operatsioonisüsteemi enda vahenditega (/etc/init.d/postgres, /usr/local/etc/rc.d/postgres.sh) abil serveri startida
Baasi loomine
Käivitage postgreSQL prooviks: (logige uuesti sisse kasutaja postgres alt, et lisatud PATH'i take'eksid efffect'i :)
Kõik järgnevad käsud tuleb anda postgres kasutaja alt, su - postgres
looge andmebaas
$ createdb mhh
votke andmebaasiga ühendust
$ psql
käsivitage lihtne päring
postgres=> SELECT datetime 'now';
(kas tulemus on näha?)
väljuge andmebaasi kliendist
postgres=> \q
eemaldage andmebaas
$ destroydb mhh
Kui see kõik läks libedalt siis on peamiselt kõik korras; tavis vaid ivake kasutajete õigusi sättida ja kõik.
Kasutajad-õigused
Kasutajate lisamine
createuser -P root
Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) y
Peale selle peab failis
- /usr/local/pgsql/data/pg_hba.conf
local all md5 #local all trust #host all 127.0.0.1 255.255.255.255 trust #host all 192.168.1.1 255.255.255.255 trust
antud juhul on kolm alumist rida välja kommenteeritud ja töötav rida ütleb, et lase sisse localhost'i pealt kõik kes on nõus end autentima. (st. alustama psql -u -d database) Kui kuidagi ei taha sisse lasta, siis kasautage ülevalt teist rida :)
Upgrade
Postgres upgrade puhul oleks soovitatav dumpida kogu baas ja hiljem restoreda
pg_dumpall -U root > pgdump /etc/init.d/postgresql stop
Ning vana database kausta võime näiteks kustutada või varundada, antudhetkel on selleks /home/pgsql ja kustutada ning luua uue ja anda selle chown käsuga postgres omandusse.
seejärel teeme vastavalt os'ile vajaliku ,et vahetuks postgres versioon
gentoos näiteks käsuga
emerge postgresql
Tasub peale baasi taas initsialiseerimist lubaca localhostist pääseda postgresile ligi ilma paroolideta (admin parool pole veel taastatud) Seda saame teha failist nano pg_hda ja seal võime lahtikommenteerida rea
local all all trust
Seejärel võime anda käsud
mkdir /home/pgsql chown -R postgres:postgres /home/pgsql su postgres initdb -D /home/pgsql postgres -D /home/pgsql psql -d postgres -f pgdump
Lingid
http://gentoo-wiki.com/HOWTO_Configure_Postgresql
http://www.postgresql.org/docs/8.1/interactive/install-upgrading.html
http://www.freebsddiary.org/postgresql.php
Eelnevate versioonide võrlustabel
http://www.postgresql.org/about/featurematrix
PGCluster is a multi-master and synchronous replication system that supports load balancing of PostgreSQL.