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 / / main, Ak ste napríklad nainštalovali aplikáciu PostgreSQL 8.4, konfiguračné súbory sa uložia do adresára /etc/postgresql/8.4/main.

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
  Okrem toho môže užívateľ PostgreSQL rozšíriť mnohými spôsobmi, napríklad pridaním nového
  • 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.2

Wget 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ť
  Ak je všetko správne, pridáme náš skript do init.d

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.
  Stručne povedzte o hlavných nástrojoch, ktoré budú užitočné v práci.

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 je

vyberte 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ý:

  1. Otvorte súbor pg_hba.conf. Nachádza sa v adresári "/ etc / postgresql / [Program Version] / main /".
  2. 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:



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.

Pokračovanie v téme:
Operačné systémy

Obnovenie výrobných nastavení - riešenie mnohých problémov spojených s týmto zariadením. Proces nie je časovo náročný a čas nebude trvať veľa. Ako urobiť tvrdý reset na ...