Manual:SQLite/pl



Wsparcie oprogramowania MediaWiki dla baz danych SQLite zyskała pełną funkcjonalność w wersji MediaWiki 1.16, lecz nadal jest w fazie rozwoju. Od wersji MediaWiki 1.13 wsparcie dla baz danych SQLite stanowi część głównej części kodu systemu. Poniżej znajdują się informacje na temat instalacji biblioteki SQLite w środowisku PHP.

O SQLite
SQLite to opensource'owa (o otwartym kodzie) biblioteka baz danych dostępna w domenie publicznej. Odwrotnie, niż ma to miejsce w systemach baz danych klient-serwer, biblioteka SQLite jest skonsolidowana z językiem skryptowym PHP, stanowiąc integralną część procesu serwera. Oprogramowanie MediaWiki wykorzystuje cechy SQLite poprzez proste wywołania funkcji, co redukuje opóźnienia w dostępnie do bazy danych, gdyż wywołania funkcji są efektywniejsze niż komunikacja międzyprocesowa.

Korzystanie z SQLite jako systemu baz danych dla instalacji MediaWiki ma swoje zalety i wady.


 * Zalety
 * Nie zachodzi konieczność instalowania i zarządzania odrębnym systemem baz danych, takim, jak MySQL, co znacznie zmniejsza obciążenie administracyjne i eliminuje część punktów, gdzie mogą wystąpić awarie.
 * Powyższe oznacza również, ze SQLite o wiele lepiej nadaje się do przenośnych instalacji silnika MediaWiki, uruchamianych np. z pamięci USB.
 * Nie występują sztucznie narzucone ograniczenia baz danych na wspóldzielonych maszynach.
 * Cała baza danych zapisana jest jako jeden wieloplatformowy plik, co upraszcza tworzenie kopii zapasowych i migrację.


 * Wady
 * Bazy danych SQlite są w mniejszym stopniu skalowalne, więc w przypadku dużych i popularnych wiki lepszym rozwiązaniem jest skorzystanie z baz danych MySQL lub PostgreSQL.
 * Mimo, ze bazy danych SQLite są wyposażone we własną wyszukiwarkę, nie udostępnia ona bardziej skomplikowanych mechanizmów, obecnych w np. Lucene.
 * Niektóre kompilacje PHP (RHEL, starsze wersje XAMPP) dostarczane są ze starszymi wersjami SQLite, o o ograniczonej funkcjonalności zawierających niezałatane luki.

Instalacja SQLite
Mimo, że oprogramowanie MediaWiki obsługuje wszystkie wersje SQLite nowsze od 3.1.2 (wymagana obsługa polecenia ADD COLUMN), zaleca się korzystanie z silnika SQLite w wersji 3.6, gdyż naprawiono w nim błedy związane z integralnością danych. Dodatkowo, w celu korzystania z opcji pełnego wyszukiwania tekstu, silnik SQLite musi zostać skompilowany z włączonym modułem FTS3 – większość współczesnych kompilacji zawiera ten moduł w ustawieniach domyślnych. SQLite3 działa poprzez funkcje PDO języka skryptowego PHP.


 * W celu zainstalowania silnika SQLite3 w systemie Linux opartym na dystrybucji Debian, należy wykonać polecenie apt-get install php5-sqlite3.
 * W nowszych dystrybucjach Ubuntu (i zapewne w innych) pakiet nosi nazwę php5-sqlite, bez cyfry 3 na koncu.
 * Pliki binarne ze strony php.net przeznaczone dla systemów Windows nie powodują problemów.
 * Od wersji PHP 5.1.0 zachodzi zależność SQLite od PDO. W pliku  należy usunąc komentarz z następujących dwóch linii ''(uwaga: czasami niemożliwe jest wydanie polecenia   w celu sprawdzenia obecności poniższych linii, gdyż język PHP z włączoną obsługą SQLite często powoduje zawieszenie aplikacji lub nieprawidłowe działanie, jeśli obsługa PDO nie jest włączona, szczególnie w systemach Windows):
 * (lub  dla Windows)
 * (lub  dla Windows)

Installing MediaWiki on SQLite backend

 * If SQLite module for PHP is properly installed, MediaWiki installer (/config/index.php) should offer you an option to use SQLite. On MediaWiki versions prior to 1.16, you need to enter something into the "DB username" and "DB password" fields for installer to continue even though SQLite does not need them.
 * If you enter nothing into the "SQLite data directory" field, your $wgSQLiteDataDir will be left empty, which corresponds to data directory in the parent of the document root, however this directory might be different for web scripts and maintenance scripts run from command line, so specifying it explicitly is recommended.

Search engine
Search capabilities for SQLite backend will be released in MediaWiki 1.16. They require SQLite with FTS3 module compiled-in, which is usually present in most modern builds. If you've recently updated your SQLite support to a version that includes FTS3, run the updater as if you're upgrading MediaWiki. After the updater script created the search index table, populate it with rebuildtextindex.php. Same applies to switches back to environments without FTS3: re-running the updater will downgrade the table to avoid SQL errors.

Backing up
If your wiki is currently offline, its database can be backed up by simply copying the database file. Otherwise, you should use a maintenance script: php maintenance/sqlite.php --backup-to &lt;backup file name&gt;, which will make sure that operation is atomic and there are no inconsistencies. If your database is not really huge and server is not under heavy load, users editing the wiki will notice nothing but a short lag. Users who are just reading will not notice anything in any case.

Problems?
Bugs should be reported to Wikimedia's bug tracker. First check if your problem was already reported - check the dependencies of tracking bug 20257 and use search. If you can't find your problem, create a new issue. If the problem is directly related to SQLite backend, report it under MediaWiki → Database component. Otherwise (if the problem is related to one very specific aspect, of the software or an extension), select an appropriate product and component. In any case please take some steps to make your bug easy to find and track: mention SQLite is its summary field and make it depend on bug 20257.