PostgreSQL haldamine

Allikas: Kuutõrvaja
Redaktsioon seisuga 20. märts 2010, kell 15:44 kasutajalt Imre (arutelu | kaastöö) (Kasutajad ja grupid - rollid)

Sissejuhatus

TODO

PostgreSQL privileegisüsteem

PostgreSQL privileegisüsteem kontrollib, mida saavad erinevad kasutajad andmebaasis teha. Üldiselt on andmebaasi ligipääsule võimalik piiranguid seada kolmel tasemel

  • võrguühenduse tase - nt andmebaasi ees töötavas tulemüüris võrguühendusi src ipi aadressi täpsusega piirates
  • pg_hba.conf failis
  • andmebaasi sisemiste vahenditega

Andmebaasi sisemiste vahenditega saab ligipääse piirata kõige täpsemalt kusjuures seadistatud ligipääse hoib andmebaas selleks ettenähtud andmebaasi tabelites.

Kasutajad ja grupid - rollid

Üldiselt öeldakse, et PostgreSQLi andmebaasi kasutajad tegutsevad andmebaasi kasutades mingites rollides

  • andmebaasi objektide, nt tablitele juures on kirjas, millise rolliga kasutaja saab kõnealuse objektida millist tegevust sooritada, nt tabelit sisu select käsuga lugeda
  • andmebaasi sisselogimiseks on kasutajal vaja teada mõnda andmebaasis kirjeldatud LOGIN omadusega rolli ligipääse (sh parooli)
  • rollid võivad moodustada hierarhiaid, mida võib praktiliselt ette kujutada grupikuuluvustena; praktiliselt tähendab see nt seda, et andmebaasis kirjeldatakse roll ja sellega seostatakse mingid ligipääsud erinevatele objektidele ning selleks, et konkreetsed sisselogivad kasutajad saaksid kõnealustele objektidega tegevusi sooritada määratakse nad kirjeldatud rolli nö pärijateks

Rollide moodustamine

Andmebaasi paigaldamisel tekitatakse andmebaasi selle kasutaja nimeline LOGIN omadusega roll, millena andmebaas paigaldati, traditsiooniliselt on selle rolli nimeks 'postgres'.

Järgnevate rollide moodustamiseks sobib öelda

create role priit

Rolli eemaldamiseks sobib öelda

drop role priit

Rollide kasutamine

Käesoleva rollinime küsimiseks sobib öelda

select user;

Uue rolli omandamiseks sobib öelda

set role uusrollinimi

Vaikimisi rolli tagasilülitamiseks

reset role