Rails + PostgreSQL z Ubuntu

Wysłane przez Marek Tenus (~marcus) dnia 12.10.2007

Z pewnością część z was miała problem z instalacją gema postgres (szybszego od postgres-pr) umożliwiającego wykorzystanie PostgreSQL'a z Railsami. Spróbujmy krok po kroku przejść przez ten proces razem.

Zakładamy, że macie już zainstalować bazę PostgreSQL (oczywiście poprawnie) oraz Rails. Pierwszym krokiem będzie  instalacja  pakietu libpq-dev (biblioteki developerskie Postgresa).

marcus@marcus:~$ sudo apt-get install libpq-dev

Czytanie list pakietów... Gotowe

Budowanie drzewa zależności

Reading state information... Gotowe

Zostaną zainstalowane następujące dodatkowe pakiety:

comerr-dev libkadm55 libkrb5-dev

Sugerowane pakiety:

doc-base krb5-doc

Zostaną zainstalowane następujące NOWE pakiety:

comerr-dev libkadm55 libkrb5-dev libpq-dev

0 aktualizowanych, 4 nowo instalowanych, 0 usuwanych i 0 nieaktualizowanych.

Konieczne pobranie 1230kB archiwów.

Po rozpakowaniu zostanie dodatkowo użyte 4162kB miejsca na dysku.

Czy chcesz kontynuować [T/n]? t

Pob: 1 http://pl.archive.ubuntu.com feisty-updates/main libkadm55 1.4.4-5ubuntu3.3 [177kB]

Pob: 2 http://pl.archive.ubuntu.com feisty/main comerr-dev 2.1-1.39+1.40-WIP-2006.11.14+dfsg-2ubuntu1 [46,4kB]

Pob: 3 http://pl.archive.ubuntu.com feisty-updates/main libkrb5-dev 1.4.4-5ubuntu3.3 [672kB]

Pob: 4 http://pl.archive.ubuntu.com feisty-updates/main libpq-dev 8.2.5-0ubuntu0.7.04.1 [335kB]

Pobrano 1230kB w 9s (125kB/s)

Zaznaczenie poprzednio niezaznaczonego pakietu libkadm55.

(Odczytywanie bazy danych ... 127166 plików i katalogów obecnie zainstalowanych.)

Rozpakowanie libkadm55 (z .../libkadm55_1.4.4-5ubuntu3.3_i386.deb) ...

Zaznaczenie poprzednio niezaznaczonego pakietu comerr-dev.

Rozpakowanie comerr-dev (z .../comerr-dev_2.1-1.39+1.40-WIP-2006.11.14+dfsg-2ubuntu1_i386.deb) ...

Zaznaczenie poprzednio niezaznaczonego pakietu libkrb5-dev.

Rozpakowanie libkrb5-dev (z .../libkrb5-dev_1.4.4-5ubuntu3.3_i386.deb) ...

Zaznaczenie poprzednio niezaznaczonego pakietu libpq-dev.

Rozpakowanie libpq-dev (z .../libpq-dev_8.2.5-0ubuntu0.7.04.1_i386.deb) ...

Konfigurowanie libkadm55 (1.4.4-5ubuntu3.3) ...

Konfigurowanie comerr-dev (2.1-1.39+1.40-WIP-2006.11.14+dfsg-2ubuntu1) ...

Konfigurowanie libkrb5-dev (1.4.4-5ubuntu3.3) ...

Konfigurowanie libpq-dev (8.2.5-0ubuntu0.7.04.1) ...

Następnie możemy już przystąpić do instalacji potrzebnego nam gema:

marcus@marcus:~$ POSTGRES_INCLUDE=/usr/include/postgresql gem install postgres

Building native extensions. This could take a while...

Successfully installed postgres-0.7.1

Przy instalacji gema należy wskazać mu ścieżkę do nagłówków bibliotek PostgreSQL'a w Ubuntu (domyślnie jest to /usr/include)

POSTGRES_INCLUDE=/usr/include/postgresql

Na koniec należy wprowadzić ustawienia w conf/database.yml dla twojej bazy danych

  adapter: postgresql
  database: nazwa_bazy_danych
  username: nazwa_użytkownika
  password: hasło
  host: /var/run/postgresql lub localhost

i możecie już wykorzystywać ogromne możliwości PostgreSQL'a w waszym projekcie.