Preskočiť na hlavný obsah

PostgreSQL - inštalácia a základy

V tomto článku popíšem postup inštalácie PostgreSQL pre rôzne platformy.

Microsoft Windows XP a novšie

  1. Stiahnite inštalačný program z oficiálnych stránok PostgreSQL (http://www.postgresql.org/download/windows/)
  2. Spustite inštalačný program a sledujte pokyny inštalátora. Pozor!!! Ak používate súborový systém FAT32 inštalátor nevytvori systémovú databázu a je potrebné jú následne vytvoriť ručne pomocou príkazu initdb.
  3. Príkaz initdb nikdy nespúšťajte ako administrátor
    • Chybne ak je užívateľ administráto
      C:\PostgreSQL\bin > initdb -D ../data
      The program " postgres " is needed by initdb but was not found in the same directory as "C:\PostgreSQL\bin /initdb".
      Check your installation .
    • Správne:
      C:\PostgreSQL\bin > runas /user:postgres "c:/postgresql/bin/initdb -D C:/PostgreSQL/data"
    • alebo
      C:\PostgreSQL\bin > runas /user:postgres "c:/postgresql/bin/initdb -D C:/PostgreSQL/data -E UTF -8"
  4. V prípade, že reinštalujete postgresql a zabudnete predchádzajúce heslo používateľa postgres je nutné tohto používateľa odstrániť.
    cmd.exe
    net user postgres /delete

Linux z repozitára

Inštalácia PostgreSQL je v prostredí často používaných Linuxových distribúcií rovnako jednoduchá ako v prostredí Microsoft Windows s tým rozdielom, že nemusíme stiahnuť inštalátor ale budeme inštalovať z repozitára. Uvediem 2 príklady pre distribúciu Fedora a Debian.

  1. Ako prvé je potrebné spustiť terminál
  2. V terminále si prepneme rolu na administrátora a nainštalujeme balíčky z repozitárov
    • Fedora
      [user@localhost ~] $ su
      [root@localhost user] # yum install postgresql
      [root@localhost user] # yum install postgresql-server
      [root@localhost user] # /etc/init.d/postgresql start
      [root@localhost user] # postgresql - setup initdb
    • Debian
      [user@localhost] ~ $ su
      [root@localhost user] # apt-get install postgresql postgresql-client
      [root@localhost user] # /etc/init.d/postgresql start
  3. Posledným krokom je povolenie prístupu ak je zapnutý SElinux avšak to len v tom prípade ak by sme chceli pristupovať k databáze pomocou napríklad PHP.
    [root@localhost user] # setsebool -P httpd_can_network_connect_db on

Zo zdrojového kódu

Inštalovanie databázy zo zdrojového kódu sa využiva vtedy ak nie je k dispozícii inštalátor pre nami používany OS.

  1. Ako prvé si stiahneme zdrojový kód taktiež ako pri stiahnutí inštalátora pre systém Windows z oficiálnych stránok PostgreSQL (http://www.postgresql.org/ftp/source/).
  2. Následne si ako v kroku 1. inštalácie z repozitára spustíme terminál a presunieme sa pomocou príkazu cd do priečinku kam sme stiahli archiv so zdrojovým kódom (v mojom prípade pôjde o priečinok s názvom work ).
  3. Rozbalíme archív:
    [user@localhost work] $ tar xvfz archiv.tar.gz
  4. Presunieme sa do priečinku so zdrojovým kódom (opäť príkazom cd) a inštalujeme pomocou nasledujúcich príkazov:
    [user@localhost postgres] $ ./ configure --with-perl
    [user@localhost postgres] $ make all
    [user@localhost postgres] $ su root
    [root@localhost postgres] # make install
    [root@localhost postgres] # cp contrib/start-scripts/linux /etc/init.d/pgsql
    [root@localhost postgres] # chmod + x/etc/init.d/pgsql
    [root@localhost postgres] # useradd postgres
    [root@localhost postgres] # mkdir/usr/local/pgsql/data
    [root@localhost postgres] # chown postgres/usr/local/pgsql/data

Uvedený príklad predpokladá dostupnosť viacerých vyvojárských nástrojov a prekladačov v systéme kde inštaláciu vykonávame (napr. make, gcc a pod.).

Komentáre

Obľúbené príspevky z tohto blogu

Ako previesť .mp3 súbor do .wav v Linuxe

Počas Vianočných sviatkov som skúmal ako previesť pesničky ktoré mám v počítači vo formáte MP3 do formátu audio CD ktorý by bez problémov načítala aj moja postaršia veža. Samozrejme našiel som veľa spôsobov avšak asi najjednoduchším bol veľmi jednoduchý shell skript. Inštalácia je veľmi jednoduchá: # Ubuntu sudo apt-get install mpg123 # Fedora yum install mpg123 Používať tento shell skript sa dá dvoma spôsobmi. Buď budete prevádzať každý MP3 súbor samostatne pomocou tohto príkazu: mpg123 -w vystup.wav vstup.mp3 Alebo využijete jednoduchú funkciu ktorú vložíte do súboru .bashrc v vašom koreňovom adresári. mp3towav(){      [[ $# -eq 0 ]] && { echo "mp3wav mp3file"; exit 1; }      for i in "$@"      do           # create .wav file name           local out="${i%/*}.wav"           [[ -f "$i" ]] && { echo -n "Processing ${i}..."; mpg123 -w ...

MathJax: Vkladanie matematických vzorcov na stránku

Asi 2 roky dozadu som tu písal o jazyku MathML. Jedná sa o jazyk z rodiny XML ktorý nám umožňuje vkladať na web matematické vzorce. Tento jazyk má však jednu nevýhodu a to, že aj na zapísanie jednoduchého a relatívne malého vzorca musíme napísať veľa neprehľadných riadkov. Tento problém zdá sa rieši MathJax . MathJax taktiež vkladá do stránky matematické vzorce ale dokáže ich vyrenderovať aj napríklad zo syntaxe ktorú používa LaTeX či AsciiMath a ta je oveľa kratšia a čitateľnejšia ako MathML. Použitie si ukážeme na jednoduchom zápise kvadratickej rovnice a vzorca slúžiaceho na jej výpočet. Ak $a \ne 0$, potom \(ax^2 + bx + c = 0\) má práve 2 korene ktoré vypočítame nasledovne: $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$ Použitie LaTeX-u <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>MathJax LaTeX Test</title> <script type="text/x-mathjax-config"> MathJax.Hub.Config({tex2jax: {in...

Ako zrušiť odskok prvého riadku v LaTeXe

Dnes som riešil problém ktorý som si myslel, že nebude žiadnym problémom ale opak bol pravdou. Potreboval som aby mi pri jednoduchom LaTeX -ovom dokumente automaticky neodsadzovalo prvý riadok odstavca. Asi po hodinke hľadania som na to prišiel a naozaj to bolo veľmi jednoduché. Do hlavičky dokumentu stačilo napísať tento riadok: \setlength{\parindent}{0in} Toto však vytvorilo jeden problém s ktorým som nepočítal. Odstavce sú spolu a bez odsadenia prvého riadku čo znamená, že text je dosť neprehľadný. Potreboval som teda vyriešiť ďalší problém a to ako pred alebo za odstavec vložiť nejakú medzeru. Riešenie bolo opäť veľmi jednoduché. \setlength{\parskip}{5mm}