PostgreSQL: Jak zmieniać konfigurację serwera – postgres.conf

1-Lis-2020

Serwer PostgreSQL jest konfigurowany za pomocą plików konfiguracyjnych. Te pliki można konfigurować bezpośrednio na poziomie systemu operacyjnego, ale coraz częściej takie podejście nie jest zalecane.

Np. zamiast modyfikować plik postgresql.conf można utworzyć nowy plik o nazwie postgresql.auto.conf i w nim umieścić przedefiniowane wartości parametrów. Jednak i to nie jest najlepsze rozwiązanie. Dodana w kolejnych wersjach posgresa komenda ALTER SYSTEM pozwala wprowadzać modyfikacje systemu z poziomu SQL:

Dzięki temu ważne pliki konfiguracyjne pozostają w swojej oryginalnej postaci i co za tym idzie przechowują początkowe ustawienia. Modyfikacja plików wykonywana za pomocą komend pozwala unikać literówek, bądź wprowadzenia nonsensownych ustawień, które pozostają w konflikcie z innymi ustawieniami – polecenie ALTER SYSTEM chroni po prostu administratora przed niepoprawnymi modyfikacjami plików.

(Można też tworzyć własne pliki konfiguracyjne i dołączać je korzystając ze słowa include. Ta możliwość przyda się gdy modyfikujesz dużą liczbę parametrów).

Aktualne wartości parametrów można sprawdzić poleceniem

Tych ustawień jest całkiem sporo, dlatego aby zobaczyć te najważniejsze i najczęściej stosowane można uruchomić komendę:

Jeśli zaobserwujesz różnice w kolumnie boot_val i reset_val, to oznacza to, że zmiany jeszcze nie obowiazują. W zależności od rodzaju parametru należy w takim przypadku przeładować konfigurację (reload) lub zrestartować serwer (restart).

Ustawienia mogą należeć do wielu kategorii. W przypadku niektórych ustawień,  mogą one być zmieniane przez użytkownika dla bieżącej sesji. Zmiana innych ustawień musi być realizowana przez administratora. Zmiany w opcjach zaczynają obowiązywać po otwarciu nowych sesji. Na całe szczęście pliki konfiguracyjne zawierają dobry opis tych opcji włączając w to informacje o tym, czy zmiana danej opcji wymaga restartu serwera.

Niektóre z globalnie definiowanych opcji dotyczą tylko wybranych użytkowników lub baz danych. Pozwala to wyskalować ustawienia serwera tak, żeby kluczowe procesy mogły korzystać z większej puli zasobów.

Opcje serwera można też wyświetlać poleceniem SHOW:

Zwróć uwagę, że w zależności od wyświetlanego parametru, jego jednostki mogą być inne!

Ponieważ konfiguracja może pochodzić z wielu plików, mamy do dyspozycji specjalny widok prezentujący ustawienia per-plik:

Więcej:

https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server

 

Dodaj komentarz:

Autor: Rafał Kraik