PostgreSQL: inštalácia, konfigurácia, údržba.
PostgreSQL je objektovo-relačný databázový systém, ktorý má vlastnosti tradičnej komerčnej databázy s rozšíreniami, ktoré budú k dispozícii pre ďalšiu generáciu DBMS (databázové systémy).
inštalácia
Ak chcete nainštalovať PostgreSQL, spustite nasledujúci príkaz v termináli:
Sudo apt-get nainštalovať postgresql
Bezprostredne po inštalácii môžete prispôsobiť server PostgreSQL podľa svojich potrieb, hoci štandardné nastavenie je celkom životaschopné.
nastavenie
Predvolene sú blokované pripojenia cez protokol TCP / IP. PostgreSQL podporuje viacero autentifikačných metód. Metóda overovania IDENT používané pre postgres a miestni používatelia ešte nenakonfigurovali niečo iné. Pozrite sa, či použijete akúkoľvek alternatívu, ako je Kerberos.
Ďalšia diskusia predpokladá, že budete povoliť pripojenie TCP / IP a používať autentifikáciu klienta na základe MD5. súbory postgreSQL nastavenia uložené v adresári / etc / postgresql /
Konfigurácia autentifikácie ident Pridajte položky do súboru /etc/postgresql/8.4/main/pg_ident.conf. Súbor obsahuje podrobné poznámky, ktoré vás sprevádzajú.
Ak chcete povoliť pripojenie cez protokol TCP / IP, upravte súbor /etc/postgresql/8.4/main/postgresql.conf. Nájdite riadok
#listen_addresses = "localhost"
a nahraďte ho:
Listen_addresses = "localhost"
Ak chcete povoliť pripojenie iných počítačov k vášmu PostgreSQL serveru, nahraďte "localhost" IP adresou vášho servera alebo alternatívne 0,0.0.0 na pripojenie všetkých rozhraní.
Môžete tiež upraviť akékoľvek ďalšie parametre, ak viete, čo robíte! Ďalšie podrobnosti nájdete v komentároch súborov možností alebo v dokumentácii programu PostgreSQL.
Keďže sa môžeme pripojiť k nášmu serveru PostgreSQL, ďalším krokom je nastavenie hesla pre používateľa. postgres, Spustite nasledujúci príkaz v termináli na pripojenie k štandardnej databáze šablón PostgreSQL:
Sudo-u postgres psql template1
Tento príkaz sa pripojí k šablóne databázy PostgreSQL 1 ako používateľ postgres. Po pripojení k serveru PostgreSQL sa budete nachádzať v konzole SQL. V konzole môžete spustiť nasledujúci príkaz SQL psql nastaviť heslo používateľa postgres:
ALTER USER posiela šifrované heslo "your_password";
Po nastavení hesla zmeňte súbor /etc/postgresql/8.4/main/pg_hba.conf, aby ste použili autentifikáciu MD5 pre používateľa postgres:
Lokálne všetky postgres md5
Nakoniec budete musieť reštartovať službu PostgreSQL, aby ste mohli použiť nové nastavenia. Z terminálu vykonajte nasledujúce kroky na reštartovanie PostgreSQL:
Sudo /etc/init.d/postgresql-8.4 restart
Toto nastavenie je neúplné. Ďalšie možnosti nájdete v Príručke administrátora služby PostgreSQL.
- cvičenie
Chcel som vytvoriť úžasnú a komplexnú príručku Getting Start bez vody, ale vrátane základných buniek pre začiatočníkov, ktorí používajú systém PostgreSQL v systéme Linux.
PostgreSQL je objektovo-relačný databázový systém riadenia (ORDBMS) založený na POSTGRES, verzia 4.2, vyvinutá na University of California v Berkeley Department of Computer Science.
PostgreSQL je otvoreným zdrojovým pôvodcom pôvodného kódu Berkeley. Podporuje väčšinu štandardov SQL a ponúka mnoho pokročilých funkcií:
- Komplikované dopyty
- Spravovanie konkurenčného prístupu s viacerými verziami
- dátových typov
- funkcie
- prevádzkovatelia
- súhrnné funkcie
- index metód
- procedurálnych jazykov
Montáž a inštalácia
Rovnako ako všetci fanúšikov PostgreSQL, budeme samozrejme budovať a neťahovávať hotové balíky (napríklad nie sú žiadne repozitáre Debianu najnovšiu verziu). Tu je veľa verzií, samozrejme najlepšie sťahovanie je najnovšie. V čase zápisu tohto príspevku je verzia 9.2.2Wget http://ftp.postgresql.org/pub/source/v9.2.2/postgresql-9.2.2.tar.gz tar xzf postgresql-9.2.2.tar.gz
Teraz máme zdrojový adresár tejto vynikajúcej databázy.
V predvolenom nastavení sú databázové súbory nainštalované v adresári / usr / local / pgsql, ale tento adresár sa dá zmeniť zadaním
Prefix = / path / to / pgsql
pred príkazom / configure
Pred budovaním môžete zadať kompilátor C ++
Export CC = gcc
PostgeSQL môže použiť knižnicu readline, ak ju nemáte a nechcete ju nainštalovať, stačí zadať túto možnosť
Without-readline
Dúfam, že každý má autotools? Potom postúpte do zostavy:
Cd postgresql-9.2.2 ./configure - bez čítania sudo urobte inštaláciu čistou
Všetci páni! Blahoželáme!
nastavenie
Musíme určiť ukladanie dát v našich databázach (klastroch) a spustiť ich.Existuje jedna výstraha - vlastník adresára údajov a používateľ, ktorý môže spustiť databázu, by nemal byť root. To sa deje pre bezpečnosť systému. Preto vytvoríme špeciálneho používateľa.
sudo useradd postgres -p postgres -U-m
A ďalšie je všetko jasné
Sudo chown -R pošta: postgres / usr / local / pgsql
Dôležitý proces. Musíme inicializovať skupinu melónov. Mali by sme to urobiť v mene používateľa postgres.
Initdb -D / usr / local / pgsql / dáta
Teraz je potrebné pridať spustenie programu PostgreSQL na automatické spustenie. Na to je pripravený skript a nachádza sa v postgresql-9.2.2 / contrib / start-scripts / linux
Tento súbor môžete otvoriť a venovať pozornosť nasledujúcim premenným:
- prefix - toto je miesto, kde sme nainštalovali PostgreSQL a nastavili sme ho v. / configure
- PGDATA - tam je miesto, kde je uložený databázový klastr a kde by náš prístupový používateľ mal mať prístup
- PGUSER - je to ten istý používateľ, v mene ktorého bude všetko fungovať
Sudo cp ./postgresql-9.2.2/contrib/start-scripts/linux/etc/init.d/postgres sudo update-rc.d postgres default
Reštartujte systém a skontrolujte, či funguje náš skript.
Predstavujeme
/ usr / local / pgsql / bin / psql -U postgres
A ak okno pracuje s databázou, konfigurácia bola úspešná! Blahoželáme!
Databáza sa štandardne vytvára pod názvom postgres
Teraz je dôležité hovoriť o metódach autorizácie.
Súbor /usr/local/pgsql/data/pg_hba.conf má na to potrebné nastavenia
# TYPE DATABASE UŽÍVATEĽ ADRESA metóda lokálne všetky všetky dôvery hostiteľ všetky všetky 127.0.0.1/32 dôverovať hostiteľ všetci všetci :: 1/128 trust
Prvý riadok zodpovedá za miestne pripojenie, druhý za pripojenie cez protokol IPv4 a tretí protokol IPv6.
Posledný parameter je len spôsob autorizácie. Jeho a zvážiť (iba základné)
- dôvera - prístup k databáze môže získať kohokoľvek pod akýmkoľvek menom, ktorý má s ňou spojenie.
- zamietnuť - bezpodmienečne odmietnuť! Toto je vhodné na filtrovanie určitých adries IP
- heslo - vyžaduje povinné zadanie hesla. Nie je vhodný pre lokálnych používateľov, len pre používateľov vytvorených príkazom CREATE USER
- ident - umožňuje iba používateľovi zaregistrovanému v súbore /usr/local/pgsql/data/pg_ident.conf vytvoriť spojenie s databázou.
Nástroje na prácu so základňou
pg_config
Vracia informácie o aktuálnom inštalovaná verzia PostgreSQL.initdb
Inicializuje nový dátový sklad (databázový klastr). Klastr je zbierka databáz spravovaných jednou inštanciou severu. initdb musí byť spustený v mene budúceho vlastníka servera (ako je uvedené vyššie v mene postgres).pg_ctl
Ovládanie prevádzky servera PostgreSQL. Umožňuje spustiť, reštartovať, zastaviť server, určiť súbor denníka a ďalšie.psql
Klient pracovať so základným melónom. Umožňuje vykonať operácie SQL.createdb
Vytvorí novú databázu. Databáza sa v predvolenom nastavení vytvorí v mene používateľa, ktorý daný príkaz spustí. Ak však zadáte inú možnosť, musíte použiť voľbu -O (ak má používateľ na to potrebné potrebné privilégiá). V podstate ide o wrapper SQL pre príkaz CREATE DATABASE.dropdb
Odstráni databázu. Je obal do príkazu SQL DROP DATABASE.createuser
Pridá nový melón používateľa. Je to obal SQL pre príkaz CREATE ROLE.dropuser
Odstráni používateľa databázy. Je balík SQL príkazu DROP ROLE.createlang
Pridá nový programovací jazyk do databázy PostgreSQL. Je to obal SQL pre príkaz CREATE LANGUAGE.droplang
Odstráni programovací jazyk. Je príkaz wrapper SQL DROP LANGUAGE.pg_dump
Vytvorí zálohu (výpis) databázy do súboru.pg_restore
Obnovuje zálohu (výpis) databázy zo súboru.pg_dumpall
Vytvorí zálohu (výpis) celého klastra do súboru.reindexdb
Reindexuje databázu. Je to obal pre príkaz SQL REINDEX.clusterdb
Zahrňuje tabuľky v databáze. Je balík SQL príkazu CLUSTER.vacuumdb
Zberač odpadkov a optimalizácia databázy. Je to obal pre príkaz VACUUM SQL.Vedúci pracovníci
Čo sa týka správcu databáz, správca php jevyberte maintenance_work_mem = RAM / 16..32 alebo work_mem * 4 alebo 256MB..4GB
Limit pamäte pre úlohy údržby, ako je vákuum, automatické vákuum alebo vytváranie indexov.
Effective_cache_size = RAM - shared_buffers
Odhad veľkosti vyrovnávacej pamäte súborový systém, Zvýšenie parametra zvyšuje sklon systému k výberu plánov IndexScan. A to je dobré.
effective_io_concurrency = 2
Odhadovaná hodnota súbežných požiadaviek na diskový systém, ktorú môže súčasne slúžiť. Pre jednu jednotku = 1, pre RAID = 2 alebo viac.
random_page_cost = 1.5-2.0 pre RAID, 1.1-1.3 pre SSD
Náklady na čítanie náhodnej stránky (štandardne 4). Čím menej vyhľadávacieho času je diskový systém, tým menší je (ale\u003e 1,0) tento parameter. Zbytočne veľká hodnota parametra zvyšuje tendenciu PgSQL vyberať plány so skenovaním celej tabuľky (PgSQL verí, že je lacnejšie čítať celú tabuľku dôsledne ako náhodný index). A to je zlé.
Autovacuum = zapnuté
Zapnite automatické vákuum. Nevypínajte ho!
autovacuum_max_workers = NCores / 4..2, ale nie menej ako 4
Počet procesov automatického podtlaku. Všeobecné pravidlo - čím viac požiadaviek na písanie, tým viac procesov. V databáze na čítanie je postačujúci jeden proces.
Autovacuum_naptime = 20s
Doba spánku procesu automatického vákua. Príliš veľká hodnota povedie k tomu, že tabuľky nebudú mať čas na vákuum a výsledkom bude nárast a veľkosť tabuliek a indexov. Malá hodnota vedie k zbytočnému ohrevu.
Bgwriter_delay = 20ms
Čas spánku medzi zápisovými cyklami a procesom zápisu na disk. Tento proces je zodpovedný za synchronizáciu stránok nachádzajúcich sa v zdieľanom disku s diskom. Príliš veľká hodnota tohto parametra zvýši zaťaženie procesu kontroly a procesov, ktoré slúžia na reláciu (backend). Malá hodnota bude mať za následok úplné zaťaženie jedného z jadier.
Bgwriter_lru_multiplier = 4.0 bgwriter_lru_maxpages = 400
Parametre, ktoré riadia intenzitu záznamu procesu nahrávania na pozadí. V jednom cykle bgwriter nezaznamenáva viac než zaznamenaný v predchádzajúcom cykle, vynásobený bgwriter_lru_multiplier, ale nie viac ako bgwriter_lru_maxpages.
Synchronous_commit = vypnuté
Vypnite synchronizáciu s diskom v čase spustenia. Vytvára riziko straty posledných niekoľkých transakcií (v priebehu 0,5-1 sekundy), ale zaručuje integritu databázy, v reťazci záväzkov nie sú zaručené žiadne medzery. Ale výrazne zvyšuje produktivitu.
Checkpoint_segments = 32..256< 9.5
Maximálny počet segmentov WAL medzi kontrolným bodom. Príliš časté kontrolné body vedú k výraznému zaťaženiu disku podsystému písaním. Každý segment má veľkosť 16 MB
checkpoint_completion_target = 0.5..0.9
Stupeň "rozmazania" kontrolného bodu "a. Rýchlosť záznamu počas kontrolného bodu" a je regulovaná tak, aby časový kontrolný bod "a bol rovnaký ako minulosť minulosti, vynásobený checkpoint_completion_target
min_wal_size = 512 MB .. 4G\u003e = 9,5
max_wal_size = 2 * min_wal_size\u003e = 9.5
Minimálna a maximálna veľkosť súborov WAL. Podobne ako checkpoint_segments
Zakázať šifrovanie. Pre bezpečné dátové centrá je šifrovanie bezvýznamné, ale vedie k zvýšeniu zaťaženia CPU
Vypnutie parametra vedie k zvýšeniu výkonu, ale existuje riziko, že stratíte všetky údaje v prípade náhleho vypnutia. Upozornenie: Ak má RAID vyrovnávaciu pamäť a je v režime zápisu späť, skontrolujte dostupnosť a funkčnosť batérie vyrovnávacej pamäte radiča RAID! V opačnom prípade sa údaje zaznamenané v vyrovnávacej pamäti RAID môžu stratiť po vypnutí napájania a v dôsledku toho PgSQL nezaručuje integritu údajov.
commit_delay = 1000
commit_siblings = 5
Skupina vykonáva viacero transakcií. Je rozumné zahrnúť, ak transakčná sadzba presahuje 1000 TPS. V opačnom prípade nie je žiadny účinok.
temp_tablespaces = "NAME_OF_TABLESPACE"
Miesto na disku pre dočasné tabuľky / indexy. Umiestnenie dočasných tabuliek / indexov na samostatných diskoch môže zvýšiť výkon. Najprv musíte vytvoriť tabuľkový priestor s príkazom CREATE TABLESPACE. Ak sa charakteristiky diskov líšia od hlavných diskov, potom by mala byť v príkaze uvedená príslušná random_page_cost. Pozri ..
row_security = off\u003e = 9.5
Zakázanie ovládania rozlíšenia na úrovni zápisu
max_files_per_process = 1000 (predvolené)
Maximálna suma otvorené súbory na jeden proces PostreSQL. Jeden súbor je aspoň buď index alebo tabuľka, ale tabuľka / môže pozostávať z niekoľkých súborov. Ak PostgreSQL spočíva na tomto limite, začne otvárať / zatvárať súbory, čo môže ovplyvniť výkonnosť. Problém môžete diagnostikovať v systéme Linux pomocou príkazu lsof.
Parametre pre platformu 1C: Enterprise
standard_conforming_strings = vypnutéPovoliť použitie \\ pre únik
Escape_string_warning = vypnuté
Nevytvárajte varovanie o používaní znaku \\ na únik
Max_locks_per_transaction = 256
Maximálny počet zámkov indexu / tabuľky na transakciu
Max_connections = 500..1000
Počet súčasných pripojení / relácií
Parametre pre PgBadger
Pri vysokom zaťažení môže ovplyvniť výkon kvôli veľkému napaľovaciemu prúdu na disk. Lepšie je dať na samostatné vreteno.
Skúste PostgreSQL - objektovo-relačné DBMS. Je vhodný na komerčné využitie. Má mnoho ďalších modulov a funkcií. Syntax pgSQL tejto aplikácie je trochu podobný slávnemu nástroju MySQL. Ak viete, ako ju používať, bude prechod na nový web jednoduchý. Pre inštaláciu systému PostgreSQL Ubuntu nemusíte zadávať veľa príkazov.
Nainštalujte a nakonfigurujte PostreSQL DBMS na Ubuntu je jednoduché - postupujte podľa našich pokynov
V programe sú k dispozícii rôzne metódy overovania. Je lepšie vybrať IDENT alebo MD5. Prvý je predvolený. Ak chcete použiť druhý:
- Otvorte súbor pg_hba.conf. Nachádza sa v adresári "/ etc / postgresql / [Program Version] / main /".
- Nájdite tam parameter "lokálny všetok postgresor" a napíšte ho vedľa md5. Ak takýto riadok neexistuje, zadajte ho.
použitie
Návod na použitie je možné stiahnuť priamo z terminálu. Zadajte príkaz "apt-get install postgresql-doc- [Užitočná verzia]". Tu sú niektoré dôležité príkazy:
![](/public/image955-616x879.jpg)
Práca s tabuľkami
- Pridaním tabuľky je "CREATE TABLE [Table Name]".
- Po zadaní tohto príkazu do zátvoriek napíšte parametre mriežky "[Názov linky] [Typ] ([Počet pozícií]) [Možné obmedzenia]". Preto zadajte niekoľko riadkov oddelených čiarkami. Po každom stlačení klávesu Enter. Stĺpce môžu mať rôzne názvy a typy. Po dokončení zápisu údajov zatvorte držiak a položte bodkočiarku. Počet pozícií je uvedený aj v zátvorkách.
- Zobrazenie obsahu tabuľky - "\\ d". A lepšie - "SELECT * FROM [Name]"
- Odstrániť - "DROP TABLE [Name]". Potom stlačte Enter a znova zadajte "DROP TABLE".
- Zadajte údaje - "VLOŽIŤ DO [Názov mriežky] (Stĺpec1, Stĺpec2, Stĺpec3) HODNOTY (" Záznam1 "," Záznam2 ", Záznam3);". Príslušné položky sa pridajú do stĺpcov. Môžete zopakovať príkaz na zadanie nových informácií.
- Odstrániť hodnotu - "DELETE FROM [Názov tabuľky] WHERE [Názov stĺpca] = '[Value]';".
- Nový stĺpec je "ALTER TABLE [Názov siete] ADD [Názov stĺpca]".
- Odstrániť stĺpec - "ALTER TABLE [Table] DROP [Názov stĺpca]".
Takto to vyzerá PostgreSQL inštalácia a nastavenia. Ubuntu nie je ťažké ovládať. Stačí si pamätať základné príkazy. Tento systém DBMS sa často používa na komerčné účely. Vhodné pre návrh webových stránok a vytváranie webových stránok. Podporuje populárne programovacie jazyky.