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

Príklad paralelného výpočtu v Jave s využitím Fork/Join frameworku

JDK 7 prišlo s novou možnosťou paralelného programovania. Java bola rozšírené o balíček java.util.concurrent v ktorom sa nachádzajú nové triedy ktoré umožňujú jednoduchšie paralelné programovanie nad viac ako jedným (jednovláknovým) jadrom procesora. Hlavné triedy frameworku Fork/Join ktorý uľahčuje paralelné programovanie sú: ForkJoinTask<V> – abstraktná trieda definujúca úlohu ForkJoinPool – trieda riadiaca vykonávanie úloh typu ForkJoinTask<V> RecursiveAction – podtrieda triedy ForkJoinTask<V> určená pre úlohy nevracajúce hodnoty RecursiveTask<V> – podtrieda triedy ForkJoinTask<V> určená pre úlohy vracajúce hodnoty Príklad V príklade bude zotrieďované pole celých čísel troma triediacimi algoritmami (Bubble sort, Selection sort a Insertion sort) so zložitosťou O(n 2 ) . Na lepšiu ukážku budú použité len 2 jadrá procesora čím dosiahneme, že jedna z úloh bude musieť čakať na dokončenie inej. Trieda Main.java : import java.util.ArrayList;

XSLT transformacia v Jave

XSLT ( Extensible Stylesheet Language Transformations ) je jazyk určený na transformovanie XML dokumentov na iné XML dokumenty, alebo iné formáty ako napríklad HTML pre web, obyčajný text alebo do XSL Formatting Objects, ktoré môžu byť zkonvertované do iných formátov, ako napríklad PDF, PostScript, RTF či PNG. Originálny dokument nie je zmenený, namiesto toho sa vytvorí nový dokument na základe už existujúceho. Vstupné dokumenty sú zväčša typu XML, ale môže byt použité čokoľvek, z čoho procesor dokáže zostaviť XQuery a XPath Data Model. [1] V jednoduchom príklade ukazujem XSLT transformaciu pomocou programovacieho jazyka Java. Súbor: library.xml <?xml version="1.0" encoding="utf-8" ?> <library> <book> <id>1</id> <name>Java 7</name> </book> <book> <id>2</id> <name>Java 8</name> </book> </library> Súbor: library_stylesheet

Java - Súčet Listu s objektami BigDecimal

Pri používaní typu BigDecimal som narazil na zaujímavú úlohu a to sčítanie všetkých hodnôt v Liste. Majmä nasledovne definovaný list: List < BigDecimal > listOfBigDecimals = new LinkedList (); 1. spôsob je klasicke preiterovanie celého listu: BigDecimal sum = BigDecimal . ZERO ; for ( BigDecimal number : listOfBigDecimals ) { sum = sum . add ( number ); } 2. spôsobom je využitie stream.reduce() : BigDecimal sum = listOfBigDecimals . stream () . reduce ( BigDecimal . ZERO , BigDecimal :: add ); BONUS: spôsob s použitím reduce() v Kotline : val sum : BigDecimal = listOfBigDecimal . reduce { a , n -> a . add ( n ) }