• PostgreSQL- konfiguracja i instalacja w CentOS

    dodany przez gintor

    PostgreSQL to jeden z najpopularniejszych systemów zarządzania relacyjnymi bazami danych. System ma opinie stabilnego i bardzo wydajnego szczególnie w pracy z dużymi bazami lub też hurtowniami danych. Ogromną zaletą jest licencja BSD, która umożliwia stosowanie go również w projektach komercyjnych. Za najlepszą reklamę myślę, że posłużą limity nałożone na silnik bazy danych:

    Max rozmiar pola – 1G

    Max rozmiar tabeli – 32TB

    Max rozmiar bazy danych – nielimitowany

    Warto więc zapoznać się z możliwościami jakie daje nam PostgreSQL.

    Do uruchomienia potrzebne są dwie paczki, postgresql oraz postgresql-server.

    [root@localnet ~]# yum install postgresql postgresql-server

    Loaded plugins: fastestmirror

    Loading mirror speeds from cached hostfile

    Installed:

    postgresql.i386 0:8.1.18-2.el5_4.1 postgresql-server.i386 0:8.1.18-2.el5_4.1

    Complete!

    [root@localnet ~]#

    W tym momencie SZBD został poprawnie zainstalowany na naszej maszynie, wystarczy go odpalić i poprawnie skonfigurować.

    Uruchamiany:

    service postgresql start

    Jeśli chcemy żeby Postgres startował przy każdym restarcie maszyny

    chkconfig postgres on

    Następnie należy zalogować się jako user postgres i założyć przykładową bazę danych.

    [root@localnet ~]# su – postgres

    -bash-3.2$ psql -d template1 -U postgres

    -bash-3.2$ exit

    [root@localnet ~]# psql -h nasz_adres_IP -U postgres

    Welcome to psql 8.1.18, the PostgreSQL interactive terminal.

    Type: \copyright for distribution terms

    \h for help with SQL commands

    \? for help with psql commands

    \g or terminate with semicolon to execute query

    \q to quit

    postgres=#

    Na dobry początek warto ustawić hasło :

    postgres=# ALTER USER postgres with password ‘naszehaslo’;

    postgres=#\q

    Warto wspomnieć, że terminalowym klientem jest psql. Przygotowano również kilka shell`owych poleceń ułatwiających życie np: createdb, pg_dump,restore, pg_ctl itp.

    Przechodzimy do podstawowej konfiguracji. PostgreSQL swoje pliki konfiguracyjne trzyma w /var/lib/pgsql/data gdzie znajdziemy dwa najważniejsze ,czyli pg_hba.conf oraz postgres.conf

    Plik pg_hba.conf pozwala na konfiguracje połączeń, schemat jest następujący

    TYPE – możliwe opcje to local,host, hostssl, hostnossl,

    DATABASE – tu można stawić nazwę bazy danych, opcja all oczywiście dotyczy wszystkich,

    USER – login konkretnego user`a lub też all,

    CIDR-ADDRESS – adres sieci lub konkretny adres IP z którego umożliwimy nawiązywanie połączeń,

    METHOD – metoda autentykacji, do wyboru jest całkiem sporo : trust, reject, md5,krypt, password, krb5, ideat, pam. Opcja trust pozwala na logowanie bez hasła.

    Dokładny opis wszystkich opcji oczywiście jest w dokumentacji postgresa.

    Przykładowa konfiguracja:

    # „local” is for Unix domain socket connections only

    host all all 192.168.1.0/16 md5

    # IPv4 local connections:

    #host all all 127.0.0.1/32 trust

    # IPv6 local connections:

    #host all all ::1/128 ident sameuser

    Drugim ważnym plikiem jest postgres.conf, który będzie przede wszystkich przydatny zaawansowanym użytkownikom. To właśnie tu znajdziemy najważniejsze opcje związane z tuningiem silnika bazy. Warto zwrócić uwagę na linijkę:

    listen_addresses = ‚192.168.1.48’

    gdzie możemy wstawić adres IP naszej maszyny. Jeśli zamiast adresu IP wpiszemy ‘ * ’ nasz postgres będzie nasłuchiwał na wszystkich interfejsach sieciowych.( ‘ na początku i na końcu adresu IP są obowiązkowe).

    Minusem użycia paczki z repozytorium jest jej starość, w momencie pisania artykułu najnowsza wersja to 8.4.2, a instalowana 8.1.18. Jak widać różnica znaczna.

    Do codziennej pracy z bazą polecam pgAdmina, bardzo przystępne narzędzie pozwalające zarówno na administracje jak i czysto programistyczne działania.

    Życzę powodzenia!

    Wiecej o PostgreSQL na:

    http://www.postgresql.org

    http://www.pgadmin.org

Komentarze do “PostgreSQL- konfiguracja i instalacja w CentOS”

  1. Dawid pisze:

    chkconfig postgresql on
    zamiast
    chkconfig postgres on

    (centos 5.5, postgres 8.1.22)

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony