Just-in-time compilation w PostgreSQL 11 (benchmark EuroDB)

2019-09-03
Benchmark JIT PostgreSQL

Wraz z wydaniem 11. silnika PostgreSQL, otrzymaliśmy nowe ciekawe narzędzie pozwalające na optymalizowanie szybkości wykonywania zapytań. Oczywiście mowa tu o kompilacji zapytań w locie (ang. just-in-time compilation). W tym artykule postaram się przybliżyć, dlaczego warto skorzystać z tego rozwiązania i jak wpływa ono na czas wykonywania analitycznych zapytań w EuroDB.

Czytaj więcej

Generowanie danych losowych dla PostgreSQL

2019-04-26
Generowanie danych losowych

Dobre dane są jednym z najpotrzebniejszych narzędzi podczas wytwarzania i testów oprogramowania. Często są niezbędne do wczesnego wykrycia błędów działania aplikacji, co zmniejsza potencjalne ryzyko przedostania się błędu do aplikacji działającej w środowisku produkcyjnym. Samo generowanie danych nie jest jednak najłatwiejszym zadaniem i zapewne dlatego moduł do generowania danych losowych zawarty w EuroDB jest tak […]

Czytaj więcej

Tips & Tricks – Poradnik psql cz. III. – dostosowanie konfiguracji z plikiem .psqlrc

2019-02-07
Psql III

W tej części serii o psql – interaktywnym terminalu do bazy PostgreSQL – zajmiemy się, zgodnie z zapowiedziami w poprzednich artykułach, konfiguracją przy pomocy pliku  .psqlrc. Pokażemy, które opcje mogą być szczególnie przydatne w codziennej pracy, a także zwrócimy uwagę na nowości wprowadzone wraz z pojawieniem się najnowszej wersji bazy PostgreSQL 11.1. Plik konfiguracyjny psqlrc […]

Czytaj więcej

Krok za krokiem — sekwencje w PostgreSQL

2018-05-07
sekwencje w PostgreSQL

Sekwencja – uporządkowany ciąg znaków, następujący po sobie w ściśle określonej kolejności. W PostgreSQL (a szerzej w kontekście baz danych), specjalny obiekt bazodanowy – tak pożyteczny, a zarazem już tak w zasadzie oczywisty, że nie spodziewamy się zmian w ich funkcjonowaniu. Tymczasem zmiany takie zostały wprowadzone w PostgreSQL 10. Zazwyczaj sekwencji używa się do automatycznego […]

Czytaj więcej

Pozbywanie się bezczynnych transakcji w PostgreSQL – jak to zrobić?

2018-02-05
How to do

Jedną ze zmór administratorów baz danych są sesje, które rozpoczęły blok transakcyjny poleceniem BEGIN, ewentualnie wykonały jakieś operacje i „zamarły”. Mogą stanowić sporą przeszkodę w sprawnej pracy klastra – alokują zasoby, mogą być przyczyną problemów z lokowaniem tabel (LOCK TABLE), ograniczają pulę połączeń, opóźniają replikację i procesy VACUUM.

Czytaj więcej

Typy indeksów w PostgreSQL. Bloom – kontra dla B-tree?

2018-01-29
Bloom

Dobrze zaprojektowana baza oparta o relacyjny system zarządzania powinna w jakimś (i to raczej w większym) stopniu uwzględniać postulaty Edgara F. Codda – także te dotyczące postaci normalnych. Respektowanie tych założeń powoduje powstanie w strukturze tabel przechowujących klucze główne do wielu innych tabel. Tabele te są bardzo często przeszukiwane – np. podczas filtrowania. Warto zatem zadbać o ich optymalizację pod tym kątem. Artykuł ten porównuje wydajność dwóch indeksów: b-tree oraz bloom na silniku PostgreSQL w wersji 10.

Czytaj więcej

PostgreSQL – okrągła, 10. wersja

2017-10-25
Postgres

Bez większego wahania można stwierdzić, że ostatni kwartał 2017 roku w świecie baz danych będzie należał do PostgreSQL 10, ponieważ ilość (i jakość) zmian, jaką wnosi to wydanie, naprawdę robi wrażenie. Nadmienić trzeba, że są to zmiany w stylu typowym dla Postgresa, polegające na ciągłej i stabilnej ewolucji narzędzia.

Czytaj więcej