47.3.1. PostgreSQL

47.3.1.1. Vytvoření databáze

section id="rails.postgresql"

Odkazy:

Potřebujeme samotný server PostgreSQL verze FIXME:7.2 nebo vyšší. Tento se nachází v balíčku postgresql. Já používám SQL server na jiném stroji vyjma vývojářského notebooku kde si ho nosím sebou. Pro připojení Ruby budeme potřebovat balíček libpgsql-ruby1.8, a může se nám hodit i CLI klient postgresql-client. Ten použujeme při ručních změnách v databázi, zakládání databází i tabulek. Všechny uvedené balíčky jsem instaloval z Debian Sarge.

Na Debian Etch se tento balíček rovněž jmenuje libpgsql-ruby

# aptitude install libpgsql-ruby

Ověřit číslo verze PostgreSQL. Etch (7.4, 8.1) Leny (8.3)

Konfigurační záznam databázového konektoru pro PostgreSQL vypadá typicky takto

development:
    adapter: postgresql
    database: mojedb
    encoding: UTF8
    username: karel
    password: heslo321
    host: localhost

Tento záznam popisuje připojení k databázi mojedb jenž běží lokálně na tomoto stroji (localhost). Databáze je v kódování UTF8 a prihlašujeme se jménem karel a heslem heslo321.

Pokud máme k databázi povolen přístup bez kontroly hesla, nemusíme položku password vyplňovat. Pokud používáme identifikační metodu ident, nemusíme vyplňovat ani pole username. Databáze si naše jméno zjistí právě pomocí programu ident.

V uvedeném příkladu není použita položka port jenž určuje číslo TCP portu na kterém běží server. Implicitní hodnota je 5432.

Přehled voleb / parametrů připojení k PostgreSQL serveru:

encoding
Kódování užité pro kódování národních (ne ASCII) znaků v databázi.
host
Adresa databázového serveru ke kterému se naše aplikace připojuje.
port
Číslo tcp portu na kterém běží server a na který se naše aplikace připojuje.
schema_search_path
Tímto parametrem specifikujeme schema v databázi, pakliže schémata používáme.
min_messages

aptitude install ruby1.8-dev libpq-dev; gem install postgres-pr; aptitude search libpgsql-ruby1.8

Licence Creative Commons
Tento dokument Ruby, jehož autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .