PostgreSQL-iga alustamine. Kasutaja parooli muutmine. Kasutajaõiguste eemaldamine

Pärast allalaadimist Ingliskeelne märksõnade andmebaas, peate installima kohapeal andmebaasiserveri ja õppima, kuidas teha valikuid. Selleks pakume samm-sammult juhiseid.

TÄHTIS: Kui teil pole andmebaasidega töötamise kogemust või see on minimaalne, soovitame protsessi väljatöötamiseks alustada minimaalsest baasist.

Juhendis olevad ekraanipildid näitavad töötamist minimaalse aluspinnaga ja vastavalt on näidatud minimaalse baasi aeg, kuid pikendatud ja maksimaalse alusega töötamine võtab kauem aega.

PostgreSQL andmebaasiserveri allalaadimine ja installimine

http://www.postgresql.org/download/windows/

1. Laadige alla tasuta programm aluse jaoks PostgreSQL-i andmed ametlikult veebisaidilt http://www.postgresql.org/
allalaadimine/windows/

http://www.enterprisedb.com/products-services-training/pgdownload#windows:

Seejärel järgige linki üksikasjalik leht andmebaasi versioonid erinevatele OS-idele: http://www.enterprisedb.com/
tooted-teenused-koolitus/
pgdownload#windows :


TÄHTIS: Soovitame installida andmebaasiserveri ja teha valikud 64-bitine süsteem vähemalt 6 GB RAM minimaalsete ja laiendatud andmebaasidega töötamisel. Maksimaalse baasi puhul on soovitatav RAM-i maht alates 32 GB, samuti soovitav kiire ketas. 32-bitise süsteemiga arvutis võtab andmete importimine, indekseerimine ja tegelik allalaadimine väga-väga kaua aega, seega on parem sellest ideest loobuda.

Kui te ei tea oma OS-i bitisügavust, saate seda vaadata arvuti atribuutidest ( parem nupp hiirega üksusel "Arvuti", valige menüüst "Atribuudid"):


2. Installige allalaaditud PostgreSQL-i andmebaas. Installimise ajal on peaaegu kõik vaikimisi...


...välja arvatud mõned asjad.

3. Käivitage tabeli optimeerimise toiming sarnasel viisil:

vaakum "eng_data_table";


Optimeerimine võtab keskmiselt 15-30 minutit.

Märkus. Täidame taotlusi ükshaaval, esmalt kustutame varasemad juba täidetud päringud. Seda, kas päring on täidetud või mitte, saate teada allosas asuvast väljundpaanist (see ilmub päringu täitmisel) ja täitmisaja saate teada akna allosas olekuribalt.

Süsteemi administreerimine

See postitus on lühikesed juhised algajatele, neile, kes installisid PostgreSQL-i esimest korda. Kõik on siin vajalikku teavet PostgreSQL-iga alustamiseks.

Ühenduse loomine DBMS-iga

Esimene asi, mida teha, on saada juurdepääs PostgreSQL-ile, juurdepääs superkasutajana.
Autentimisseaded asuvad failis pg_hba.conf.
  1. kohalikud kõik postgresi eakaaslased
See rida näitab, et postgresi kasutaja saab pistikupesa kaudu ühenduse luua mis tahes kohaliku PostgreSQL-i andmebaasiga. Parooli pole vaja sisestada, operatsioonisüsteem edastab kasutajanime ja seda kasutatakse autentimiseks.
Ühendame:
  1. $ sudo -u postgres psql postgres postgres
Võrgu kaudu ühenduse loomiseks peate failile pg_hdba.conf lisama rea:
  1. # TÜÜPI ANDMEBAAS KASUTAJA AADRESSI MEETOD
  2. hostssl kõik kõik 0.0.0.0/0 md5
Autentimismeetod md5 tähendab, et ühenduse loomiseks peate sisestama parooli. See pole eriti mugav, kui kasutate sageli psql-konsooli. Kui soovite mõnda tegevust automatiseerida, on halb uudis see, et psql ei aktsepteeri parooli argumendina. Nende probleemide lahendamiseks on kaks võimalust: määrata sobiv keskkonnamuutuja ja salvestada parool spetsiaalsesse .pgpass faili.

Keskkonnamuutuja PGPASSWORD seadistamine

Ütlen kohe, et parem on seda meetodit mitte kasutada, sest mõned operatsioonisüsteemid võimaldab teil vaadata tavakasutajatele keskkonnamuutujad ps kaudu. Aga kui soovite, peate terminali kirjutama:
  1. eksportida PGPASSWORD=mypasswd
Muutuja on saadaval praeguses seansis. Kui peate määrama muutuja kõigi seansside jaoks, siis peate lisama näite rea .bashrc või .bash_profile faili

Parooli salvestamine .pgpass-faili

Kui me räägime Linuxist, siis peaks fail asuma kaustas $HOME (/home/username). Kirjutamis- ja lugemisõigus peab olema ainult omanikul (0600). Peate faili kirjutama sellised read:
  1. hostinimi:port:andmebaas:kasutajanimi:parool
Esimesele neljale väljale saate kirjutada “*”, mis tähendab, et filtreerimist ei toimu (täielik valik).

Abiinfo hankimine

\? - annab kõik ära saadaolevad käsud koos nende lühikirjeldusega,
\h - kuvab kõigi saadaolevate päringute loendi,
\h CREATE – pakub abi konkreetse päringu puhul.

DBMS-i kasutajahaldus

Kuidas saada PostgreSQL-i kasutajate loendit?
  1. Või võite esitada päringu tabelist pg_user.

SELECT * FROM pg_user ;

Uue PostgreSQL-i kasutaja loomine Alates kest
  1. psql seda saab teha käsu CREATE abil.
LOO KASUTAJA kasutajanimi parooliga "parool" ;
  1. Või võite kasutada terminali.
loojakasutaja -S -D -R -P kasutajanimi

Kasutaja parooli muutmine

  1. MUUDA KASUTAJA kasutajanimi PAROOLIGA "parool" ;

Kasutajarollide muutmine

Kasutajale andmebaaside loomise loa andmiseks käivitage järgmine päring:
  1. ALTER ROLE kasutajanimi WITH CREATEDB ;

Andmebaasi haldamine

Andmebaaside loendi kuvamine psql terminalis: Sama Linuxi terminalist:
  1. psql -l
Andmebaasi loomine psql-ist (PostgreSQL-i terminal)
  1. LOO ANDMEBAAS dbname OMANIK dbadmin ;
Loomine uus alus andmed terminali abil:
  1. Createdb -O kasutajanimi dbname;

Andmebaasi juurdepääsuõiguste seadistamine

Kui kasutaja on andmebaasi omanik, siis on tal kõik õigused. Kuid kui soovite anda juurdepääsu teisele kasutajale, saate seda teha käsu GRANT abil. Allolev päring võimaldab kasutajal andmebaasiga ühenduse luua. Kuid ärge unustage konfiguratsioonifail pg_hba.conf, peab sellel olema ka vastavad ühenduse õigused.
  1. ANNA ÜHENDUS ANDMEBAASIS dbname KODULE dbadmin ;

1. Paigaldamine

1.1. Installimine ametlikust hoidlast

Kui PostgreSQL-i uusim saadaolev versioon on teile oluline (kui mitte, soovitan teil hoolikalt mõelda), peate selle installima ametlikult PostgreSQL-i hoidla. Seda saab teha ametlikke juhiseid järgides. Seejärel peaksite pakette värskendama:

$ sudo apt-get värskendus

Ja installige PostgreSQL käsuga:

$ sudo apt-get install postgresql-x.x

  • x.x- nõutav versioon

Saate vaadata kõigi saadaolevate versioonide loendit käsuga:

$ sudo apt-cache otsing postgresql

1.2. Installimine OS-i hoidlast

PostgreSQL-i installimine OS-i hoidlast toimub kahe põhipaketi lisamisega:

$ sudo apt-get install postgresql postgresql-contrib

2. PostgreSQL konsool

Kõik saadaolevad toimingud andmebaaside ja kasutajatega tehakse konsoolist psql.

2.1. Logige sisse konsooli

Kõigepealt peate kasutajana sisse logima postgres, see on võimalik ainult õigustega juur:

# su - postgres

Kasutaja postgres on PostgreSQL-i andmebaasi omamoodi superkasutaja. Siis kasutaja alt postgres saate konsooli sisse logida:

Või lihtsam, logige lihtsalt konsooli sisse psql kasutaja all postgres:

$ sudo -u postgres psql

2.2. Konsoolist väljumine

Kui kõik toimingud PostgreSQL-i kasutajate ja andmebaasidega on psql-konsoolis tehtud, ei ole kohe võimalik aru saada, kuidas sellest väljuda. Siin on kõik väga lihtne:

Postgres=#\q

Ja vajadusel jätame kasutaja postgres:

3. PostgreSQL-i kasutajad

3.1. Kasutaja loomine

Siin on kõik üsna lihtne:

# LOO KASUTAJA kasutajanimi PAROOLIGA "12345";

  • kasutajanimi- uue kasutaja sisselogimine
  • ‘12345’ - Kasutaja parool. Sisestatud jutumärkidesse

3.2. Kasutaja kustutamine

Siin on veelgi lihtsam:

# DOP USER kasutajanimi;

  • kasutajanimi- kustutamist vajava kasutaja sisselogimine.

4. Andmebaasid

Kõik manipulatsioonid andmebaasiga tehakse ka konsoolis psql.

4.1. Andmebaasi loomine

Siin on kõik sama, mis kasutaja loomisel:

# CREATE DATABASE dbname;

4.2. Kustutage andmebaas

# DROP DATABASE dbname;
  • dbname- kustutatava andmebaasi nimi

Pange tähele, et andmebaas keeldub teatud juhtudel kustutamast:

  • Kui selle andmebaasi õigustega kasutajaid on. Enne andmebaasi kustutamist tuleb nende õigused tühistada. Sellest lähemalt hiljem.
  • Kui andmebaasiga on avatud vähemalt üks seanss. Sel juhul tuleb istungid sulgeda. IN viimase abinõuna, saate lihtsalt peatada serverite suhtlemise selle andmebaasiga selle eemaldamise ajal (kuigi pärast andmebaasi kustutamist pole nende käivitamisel mingit mõtet)

4.3. Kasutajatele õiguste määramine

Andmebaasi ja kasutajate kättesaadavus PostgreSQL süsteem iseenesest ei anna tulemusi. Sest õige toimimine konkreetne kasutaja konkreetse andmebaasiga tuleb talle anda õigused sellega töötamiseks. Selleks käivitage käsk:

# ANNA KÕIK ANDMEBAASI PRIVILEEGID dbname kasutajanimele;

  • dbname- andmebaasi nimi, millele juurdepääsuõigused tuleb anda
  • kasutajanimi- kasutaja nimi, kellele antakse õigused määratud alus andmeid

4.4. Kasutajaõiguste eemaldamine

Mõnikord on vaja muuta andmebaasi haldavat kasutajat või lihtsalt tühistada õigused selle hilisemaks kustutamiseks. Soovitan seda käsku mitte tähelepanuta jätta ja tegutseda põhimõttel "Üks kasutaja haldab üht andmebaasi."

PostgreSQL on platvormideülene avatud objektiga relatsiooniline DBMS lähtekoodi. See artikkel näitab teile, kuidas PostgreSQL-i installida Ubuntu Linux, ühendage sellega ja looge paar lihtsad SQL-päringud, samuti kuidas varukoopiaid seadistada.

PostgreSQL 9.2 installimiseks Ubuntu 12.10-sse käivitage järgmised käsud:

sudo apt-add-repository ppa:pitti/ postgresql
sudo apt-get värskendus
sudo apt-get install postgresql-9.2

Proovime töötada DBMS-iga läbi kesta:

sudo -u postgres psql

Loome testandmebaasi ja testkasutaja:

CREATE DATABAAS test_andmebaas;
LOO KASUTAJA test_kasutaja parooliga "qwerty" ;
ANNA KÕIK ANDMEBAASIS test_andmebaas kasutajale test_user;

Shellist väljumiseks sisestage käsk \q .

Proovime nüüd loodud andmebaasiga testi_kasutaja nimel töötada:

psql -h localhost test_database test_user

Loome uue tabeli:

CREATE SEQUENCE user_ids;
CREATE TABLE kasutajad (
id TÄISARV PRIMARY KEY DEFAULT NEXTVAL ("user_ids") ,
logi sisse CHAR(64) ,
parool CHAR(64));

Pange tähele, et erinevalt mõnest teisest DBMS-ist pole PostgreSQL-il atribuudiga auto_increment veerge. Selle asemel kasutab Postgres järjestusi. Sees hetkel piisab teadmisest, et kasutades nextval funktsiooni saame unikaalsed numbrid antud jada jaoks:

SELECT NEXTVAL ("kasutaja_id") ;

Määrates kasutajate tabeli ID-välja vaikeväärtuseks NEXTVAL("kasutaja_id"), oleme saavutanud sama efekti, mille annab auto_increment. Tabelisse uusi kirjeid lisades ei pea me id-d määrama, sest unikaalne id genereeritakse automaatselt. Sama järjestust võivad kasutada mitu tabelit. Nii saame tagada, et nende tabelite mõne välja väärtused ei kattu. Selles mõttes on jadad paindlikumad kui auto_increment.

Täpselt sama tabeli saab luua vaid ühe käsuga:

LOO TABLE kasutajad2 (
id SERIAL PRIMARY KEY ,
logi sisse CHAR(64) ,
parool CHAR(64));

Sel juhul luuakse ID-välja jada automaatselt.

Nüüd, kasutades käsku \d, näete kõigi saadaolevate tabelite loendit ja \d kasutajate abil näete kasutajate tabeli kirjeldust. Kui te ei saa otsitavat teavet, proovige \d+ asemel klahvi \d+. Andmebaaside loendi saate hankida käsuga \l ja lülituda konkreetsele andmebaasile käsuga \c dbname. Käsu abi kuvamiseks öelge \?

. Oluline on märkida, et PostgreSQL-is kantakse vaikimisi tabelite ja veergude nimed üle väiketähtedega

. Kui te seda käitumist ei soovi, võite kasutada jutumärke:

CREATE TABLE "otherTable" ("someValue" VARCHAR (64 ) ) ;

Teine PostgreSQL-i funktsioon, mis võib selle DBMS-iga töö alustamisel raskusi tekitada, on nn skeemid. Skeem on midagi tabelite nimeruumi sarnast, näiteks andmebaasi sees olevate tabelitega kataloog.

Skeemi loomine:

LOO SCHEMA broneeringuid;

Lülitu skeemile:

Olemasolevate skeemide loendit saate vaadata käsu \dn abil. Vaikimisi skeemi nimi on avalik. Põhimõtteliselt saab PostgreSQL-i edukalt kasutada ka ilma skeemide olemasolust teadmata. Kuid pärandkoodiga töötamisel ja mõnel juhul võib skeemide tundmine olla väga kasulik.

Vastasel juhul ei erine PostgreSQL-iga töötamine palju tööst mis tahes muu relatsioonilise DBMS-iga:

SISESTAGE kasutajaid (sisselogimine, parool)
VÄÄRTUSED ("afiskon" , "123456" ) ;
SELECT * FROM kasutajad;

Kui proovite nüüd mõnest teisest masinast Postgresiga ühendust luua, ei õnnestu:

psql -h 192.168.0.1 test_andmebaas test_user

Psql: serveriga ei saa ühendust: Ühendamisest keelduti
Kas server töötab hostis "192.168.0.1" ja nõustub
TCP/IP-ühendused pordis 5432?

Selle parandamiseks lisage rida:

listen_addresses = "localhost, 192.168.0.1"

...ka faili /etc/postgresql/9.2/main/postgresql.conf.