Andmebaasi loomine. Väljuge konsoolist. Logige sisse konsooli

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õimaldavad teil vaadata tavakasutajatele keskkonnamuutujad kasutades ps. 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? Või võite esitada päringu tabelist pg_user.
  1. SELECT * FROM pg_user ;

Uue PostgreSQL-i kasutaja loomine

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

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 määramine

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 ;

Esimene test, mis näitab, et teil on juurdepääs andmebaasiserverile, on andmebaasi loomine. Töötab server PostgreSQL saab hallata mitut andmebaasi. Tavaliselt kasutatakse iga projekti või kasutaja jaoks eraldi andmebaasi. Võimalik, et teie masina administraator on teie jaoks juba andmebaasi loonud. See oleks pidanud teile andma teie andmebaasi nime. Sel juhul võite selle jaotise vahele jätta ja liikuda järgmise juurde. Uue andmebaasi loomiseks, mida selles näites nimetatakse mydb, saate kasutada järgmist käsku: $ Createdb mydb

Kui käsk lõpetati ilma teadeteta, siis see samm läbiti edukalt ja võite allpool kirjutatu vahele jätta kuni selle jaotise lõpuni.

Kui saate midagi sarnast nagu: loodudb: käsk ei leitud

see tähendab, et PostgreSQL-i toodet ei installitud õigesti. Kas kõike ei installitud või otsingutee teie kestas ei olnud õigesti määratud. Proovige seda käsku kutsuda, kasutades täielikku teed:

$ /usr/local/pgsql/bin/createdb mydb

Täielik tee võib teie masinal olla erinev. Olukorra parandamiseks võtke ühendust oma administraatoriga või vaadake installijuhiseid.

Veel üks sõnum, mille võite saada: loodudb: ei saa ühendust andmebaasiga postgres: ei saa ühendust serveriga: Sellist faili või kataloogi pole sellist faili või kataloogi pole. Kas server töötab kohapeal ja võtab ühendust Unixi domeenisokliga "/tmp/. s. PGSQL.5432"?

See tähendab, et serverit ei käivitatud või seda ei käivitatud nii, nagu käsk createb eeldas. Jällegi vaadake installijuhiseid või konsulteerige administraatoriga.

Teine teade, mille võite saada: Createdb: ei saanud ühendust andmebaasiga postgres: FATAL: kasutajat "joe" pole olemas

kus joe asemel mainitakse teie sisselogimisnime. See teade kuvatakse, kui administraator pole teile PostgreSQL-is kasutajat loonud. (PostgreSQL-i kasutaja ei ole operatsioonisüsteemi kasutaja.) Kui olete administraator, vaadake peatükist 20 teavet kasutaja loomise kohta. Peate registreeruma aadressil operatsioonisüsteem selle kasutaja nime all, kelle all PostgreSQL töötab (tavaliselt postgres), et luua DBMS-is esimene kasutaja. Andmebaasi loomise käsu jaoks saate PostgreSQL-is määrata ka kasutajanime, mis erineb teie praegusest operatsioonisüsteemi kasutajanimest; sel juhul peate määrama PostgreSQL-i kasutajanime, kasutades suvandit või sätet -U keskkonna muutuja PGUSER.

Kui soovitud kasutaja on olemas, kuid tal pole andmebaasi loomiseks vajalikke õigusi, näete järgmist teadet: Createdb: andmebaasi loomine ebaõnnestus: VIGA: andmebaasi loomise luba on keelatud

Igal kasutajal ei ole luba uute andmebaaside loomiseks. Kui PostgreSQL lükkab tagasi teie katsed andmebaase luua, peab teie masina administraator andma teile õigused andmebaaside loomiseks. Sel juhul konsulteerige temaga. Kui installisite PostgreSQL-i ise, peate selle õpetuse jaoks sisse logima selle kasutajana, kelle all andmebaasiserverit käitate.

Saate luua ka mis tahes muu nimega andmebaase. PostgreSQL võimaldab luua ühes serveris suvalise arvu andmebaase. Andmebaasi nimed peavad koosnema tähtedest ja numbritest (peab alati olema täht ees) ning olema kuni 63 baiti pikk. Üsna mugav on luua andmebaasi kasutajaga sama nimega. Paljud tööriistad kasutavad seda vaikimisi andmebaasi nimena, nii et te ei pea klõpsama liiga palju nuppe. Kasutajaga sama nimega andmebaasi loomiseks sisestage lihtsalt: $ Createdb Kui te ei soovi oma andmebaasi edaspidi kasutada, saate selle kustutada. Näiteks kui olete andmebaasi mydb omanik (looja), saate selle järgmise käsuga loobuda: $ dropdb mydb

(Selle käsu puhul peate kindlasti määrama andmebaasi nime; see ei eelda, et andmebaasi nimi on praeguse kasutaja nimi.) See käsk kustutab füüsiliselt kõik määratud andmebaasiga seotud failid, et neid ei saaks taastada, seega tehke seda toimingut väga ettevaatlikult.

Pärast allalaadimist Inglise märksõna 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 muutmälu 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.

PostgreSQL on platvormideülene avatud objektiga relatsiooniline DBMS lähtekood. 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 testi_kasutaja nimel loodud andmebaasiga 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. Peal Sel 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 uute kirjete lisamisel ei pruugi me id-d määrata, kuna kordumatu 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 tabelite ja veergude nimed vaikimisi üle väiketähtedega. Kui te sellist 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:

SET search_path broneeringuteni;

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 hostil "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.