Manual:PostgreSQL/pl

Ta strona zbiera informacje i doświadczenia związane z instalacją oprogramowania MediaWiki z wykorzystaniem systemu baz danych PostgreSQL.

Oprogramowanie MediaWiki pozwala na korzystanie z systemu baz danych PostgreSQL od wersji 1.7, zaś w wersji 1.16 pozbyto się prawie wszystkich błędów podczas współpracy z tym systemem baz danych. Oprogramowanie MediaWiki wymaga do prawidłowego działania silnika baz danych PostgreSQL w wersji 8.1 lub późniejszej oraz włączenia wsparcia dla baz danych PG w języku skryptowym PHP.

Większość popularnych skryptów konserwacyjnych współpracuje prawidłowo z bazami danych PostgreSQL, lecz mogą wystąpić problemy w korzystaniu ze skryptów mniej popularnych.

Czy bazy danych PostgreSQL to dobry wybór dla oprogramowania MediaWiki?
Wikipedia wykorzystuje bazy danych MySQL, więc oprogramowanie MediaWiki przechodzi większą liczbę testów z wykorzystaniem MySQL niż PostgreSQL. Wsparcie dla tego systemu baz danych realizowane jest przez ochotników; większość funkcji działa tak, jak przewidziano.

Z MySQL na PostgreSQL
Pomocne może się okazać narzędzie mwdumper.

Istnieje również narzędzie mediawiki_mysql2postgres.pl, dostępne w katalogu maintenance/postgres, lecz nie ma gwarancji jego poprawnego działania.

Z PostgreSQL na MySQL
Ogólnie migracja bazy danych z formatu PostgreSQL na MySQL nie jest zalecana, z uwagi na stopień jej skomplikowania. Istnieje jednak kilka skryptów, które mogą w takiej sytuacji pomóc.

tsearch2
Aby umożliwić pełne tekstowe przeszukiwanie zawartości zainstalowanej wiki, należy zainstalować moduł tsearch2. W wersjach PostgreSQL wcześniejszych od 8.3 stanowił on odrębny moduł, który należało zainstalować oddzielnie, od wersji 8.3 wzwyż jest to moduł standardowo dostępny w oprogramowaniu bazy danych i niewymagający dodatkowych działań.

Instalacja modułu tsearch2 w starszych wersjach silnika baz danych zależy od używanego systemu operacyjnego. Po zainstalowaniu modułu tsearch2, należy go zainstalować również w bazie danych, z której mamy zamiar korzystać. Zwykle sprowadza się to do wywołania skryptu tsearch2.sql z wewnątrz docelowej bazy danych, będąc zalogowanym na konto administratora. Na przykład, jeśli baza danych zlokalizowana jest w katalogu /usr/share/postgresql/contrib/tsearch2.sql, użytkownik z uprawnieniami administratora ma nazwę postgres, a moduł tsearch2 dodawany jest do bazy danych wikidb, można skorzystać z następującego polecenia:

psql -U postgres wikidb -f /usr/share/postgresql/contrib/tsearch2.sql

Należy zwrócić uwagę na fakt, że powyższe polecenie może spowodować wyświetlenie ostrzeżenia, lecz zignorowanie go najczęściej nie przynosi negatywnych skutków. Można sprawdzić prawidłowość zainstalowania modułu tsearch2 wpisując następujące polecenie:

psql -U postgres wikidb -c "select relname from pg_class where relname ~ '^pg_ts'"

Powinno ono spowodować wyświetlenie czterech tabel o nazwach zaczynających się od pg_ts. Jeśli jest inaczej, moduł tsearch najprawdopodobniej nie został zainstalowany prawidłowo.