Przed przystąpieniem do pracy należy utworzyć bazę danych, zgodnie z podanymi dalej wskazówkami. Po prawidłowo przeprowadzonej instalacji niniejsza instrukcja znajdzie się w katalogu /usr/share/doc/smabi
Aby poprawnie widzieć polskie znaki diakrytyczne, należy zmiennej otoczenia LANG nadać wartość pl_PL, korzystać ze standardu kodowania znaków ISO-8859-2, oraz mieć w systemie załadowane pliki z zestawem znaków rozlokowanych zgodnie z tą normą.
Jak widać, dokumentacja programu trafia do stosownego podkatalogu.
3.1. Serwer PostgreSQL.
A teraz, przed założeniem baz danych upewnijmy się, że mamy
zainstalowany (i uruchomiony już w chwili instalacji) serwer baz
danych PostgreSQL. Jest to warunek konieczny przystąpienia do instalacji.
Postgres nie musi być uruchomiony na tej samej maszynie, co Smabi.
Sam fakt instalacji serwera z pakietu rpm (lub deb) nie oznacza jeszcze, że serwer ten w danej chwili działa. Jeśli nie jesteśmy pewni, jak to sprawdzić - można po prostu wywołać (re)start serwera poleceniem /etc/rc.d/postgresql restart (zależnie od dystrybucji - np. w Debianie będzie to /etc/init.d/postgresql restart, w innych może być jeszcze odmiennie). Bez działającego Postgresa nie można ani dokończyć instalacji, ani - rzecz jasna - korzystać potem z programu.
Aby móc prowadzić czynności administracyjne, musimy także mieć
możliwość logowania się jako użytkownik postgres - czyli
administrator tegoż serwera. Użytkownik taki już znajduje się w
systemie, jeśli mamy zainstalowany serwer PostgreSQL - należy mu
tylko nadać/zmienić (oczywiście, jako root) hasło poleceniem
passwd postgres, żeby móc później logować się bezpośrednio jako
postgres.
3.2. Zakładanie baz danych.
Bezpośrednio po instalacji Postgresa nie mamy jeszcze na dysku
roboczej bazy danych; PostgreSQL nie jest bazą danych, tylko
serwerem baz danych! Bazy danych mogą zostać założone w trakcie
instalacji Smabiego - ale niekoniecznie muszą, jeśli wynikły
jakieś techniczne problemy (np. wynikające z nietypowej konfiguracji
systemu). Można to łatwo sprawdzić - należy zalogować się jako
użytkownik postgres, i w wierszu poleceń wpisać: psql -l.
W odpowiedzi otrzymamy wykaz baz danych utrzymywanych na naszym
serwerze. Jeśli są tam tylko bazy o nazwie w rodzaju template,
to znaczy, że najprawdopodobniej robocza baza Smabiego nie została
- z takich, czy innych przyczyn - w ogóle założona. Zatem należy
utworzyć roboczą (lub także i testową) bazę danych. W tym celu
należy - cały czas będąc zalogowanym jako użytkownik postgres
- wywołać program z parametrem /tabele. Przy czym możemy użyć
wywołania postaci którejś z poniższych:
| Uwaga: operację tę przeprowadzamy dla każdej bazy z osobna! A więc np. łączymy się najpierw z bazą roboczą, dodajemy użytkownika, a po zakończeniu działania programu wywołujemy go ponownie, ale już z parametrem /test, i dodajemy użytkownika bazy testowej). |
Istotna uwaga w przypadku, jeśli zainstalowano program w środowisku niezlokalizowanym dla polskiego użytkownika - albo, gdyby takiej lokalizacji dokonano w późniejszym terminie po instalacji systemu:
Wprawdzie Smabi sam zadba o założenie baz danych obsługujących środkowoeuropejski zestaw znaków, ale istotne są także globalne ustawienia, na których została w ogóle zainicjowana praca serwera PostgreSQL; bardzo istotnym parametrem jest tu --locale, gdyż przy jego niewłaściwej wartości mogą się zdarzyć nieprawidłowości w porównywaniu liter (oraz rozpoznawaniu ich wielkości), a zatem może to spowodować błędy np. w sortowaniu czy przy porównywaniu nazw.
Zatem, gdyby zaszło podejrzenie problemów wynikających ze złych defaultów, na których kiedyś zainstalowano sam serwer PostgreSQL, należy ponownie zainicjować jego bazę wzorcową narzędziem initdb. Jest ono obecne w pakiecie postgresa, ale zdarza się (np. w Debianie) że nie znajduje się w ścieżce, tj. trzeba najpierw je zlokalizować w drzewie katalogów systemu. W Debianie Etch, na przykład, serwer PostgreSQL 8.2.6 miał tę aplikację zamieszczoną w podkatalogu /usr/lib/postgresql/8.2/bin
Drugą istotną sprawą jest ustalenie lokalizacji bazy wzorcowej (tego szablonu, który potrzebny jest serwerowi przy zakładaniu baz roboczych). Najprościej będzie chyba wyłowić tę informację z parametru procesu serwera, przykładowo ps auxw | grep postgres zwróci w odpowiedzi kilka wierszy, gdzie należy wyszukać -D. Widoczny zaraz potem katalog jest właśnie katalogiem baz Postgresa (np. w Debianie był to /var/lib/postgresql/8.2/main ).
Mając te informacje, dokonujemy reinicjacji bazy-wzorca serwera:
initdb --locale=pl_PL.ISO8859-2 -E LATIN2 -D /var/lib/postgresql/8.2/main
Potem należy dokonać backupu zawartości baz danych Smabiego, same bazy usunąć - i odtworzyć. Nie jest to specjalnym problemem, szczegóły w rodziale "Kopia zapasowa bazy danych".
Poprzednia strona |
Następna strona |
Spis treści
Strona główna serwisu programu