Wyznania malkontenta

Zabrałem się ostatnio do analizowania możliwości serwera bazy danych PostgreSQL. Produkt to darmowy, więc kosztów nie poniosłem żadnych, z wyjątkiem poświęconego czasu. Czy mogę uznać ten czas za bezproduktywnie stracony? Na pewno nie, bo każde działanie badawcze prowadzi do jakiegoś celu poznawczego i nawet jeśli efekt jest niezgodny z osobistymi oczekiwaniami, nauka nie idzie w las.

Zabrałem się ostatnio do analizowania możliwości serwera bazy danych PostgreSQL. Produkt to darmowy, więc kosztów nie poniosłem żadnych, z wyjątkiem poświęconego czasu. Czy mogę uznać ten czas za bezproduktywnie stracony? Na pewno nie, bo każde działanie badawcze prowadzi do jakiegoś celu poznawczego i nawet jeśli efekt jest niezgodny z osobistymi oczekiwaniami, nauka nie idzie w las.

Jako rozpieszczony od lat użytkownik komercyjnych serwerów baz danych Microsoftu, mam nie lada powody, aby kręcić nosem na każdy produkt ustępujący im funkcjonalnością. Co prawda nieładnie utyskiwać na coś, za co się nie zapłaciło, niemniej czemu nie ponarzekać. Od tego nie płaci się podatku.

Chociaż PostgreSQL jest open source, to istnieje również skompilowana dystrybucja dla systemów Windows. Zresztą i źródła także są dostępne, więc jeśli komuś się chce i ma czym, może sobie sam skompilować. Ponieważ mnie kompilacje już nie bawią, bo dosyć tego w życiu narobiłem, poszedłem na łatwiznę i posłużyłem się gotowcem. Platformę Windows wybrałem dla przekory, a także dlatego, że jedyny wolny komputer do testów, jaki posiadałem, był z zainstalowanym od niepamiętnych czasów systemem NT 4.0. Nie powiem, nabiedziłem się trochę z instalacją tego Postgresa, bo nie poszło to jak po maśle. Najpierw był problem, czy serwer bazy danych ma pracować w trybie usługi czy jako samodzielny program. Ten pierwszy tryb i tak nie chciał się wkomponować w istniejącą rzeczywistość, przerywając proces instalacji z błędem. Wybrałem więc drugą opcję, co w sumie zaowocowało sukcesem, jednak też nie od razu, gdyż Postgres ma wbudowane mechanizmy bezpieczeństwa. Powodują one tyle, że serwer nie może pracować na koncie użytkownika z grupy administratorów, natomiast nie da się zainstalować na koncie niemającym uprawnień do modyfikacji rejestru. Po przebrnięciu przez te chaszcze darmo liczyć na to, że serwer bazy danych wreszcie wystartuje. Dla nieznających narzędzia pozostaje raczej intuicyjnie dostrzec, że należy zainicjować obszar baz danych. I tu ukłon w stronę miłośników linii poleceń - robimy to, a jakże, specjalnym poleceniem okraszonym parametrami. Zresztą nie jedyne to polecenie, jakim należy się posługiwać. W końcu jednak można "wystrugać" działający serwer bazy danych.

PostgreSQL nie ma wielu rzeczy, do których przyzwyczaili się użytkownicy MS SQL Servera. Brak tu zarządzania archiwizacją (o backupach przyrostowych trzeba zapomnieć), nie ma planowania zadań. Możliwości modyfikacji struktur tabel są szczątkowe - wystarczy porównać składnię polecenia ALTER TABLE.

Nie można na przykład zmienić więzów sprawdzających wartości w kolumnie, jeśli kolidują one z wprowadzonymi wcześniej danymi. Najlepiej po prostu od razu poprawnie zaprojektować tabele.

PostgreSQL jest najbardziej zaawansowanym serwerem baz danych stworzonym na podstawie open source. Jest także wieloplatformowy, o czym MS może tylko marzyć. Mimo swoich ograniczeń, jest to produkt dobry. Najlepszym dowodem na jego przydatność eksploatacyjną jest to, że u mnie w firmie instalacji roboczych Postgresa w stosunku do MS SQL Servera jest jak 2 do 1. Dlaczego więc tak utyskuję? Bo zawsze wolę mieć coś lepszego, nawet jeśli to kosztuje, tym bardziej że nie płacę z własnej kieszeni.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200