PodtgreSQL: Ważne parametry serwera

1-Lis-2020

PostgreSQL ma mnóstwo parametrów określających jego pracę, ale kilka jest na prawdę kluczowych:

  • listen_addresses – adres na którym nasłuchuje serwer i pozwala się łączyć. Można go ustawić na konkretny adres IP, albo zmienić na *, co oznacza każdy interfejs
  • port – określa port, na którym serwer nasłuchuje. Domyślny port to 5432 – chyba programista wybrał z klawiatury kolejne liczby….
  • max_connections – ile maksymalnie może być nawiązanych połączeń. Jeśli wartość jest przekroczona, to połączenie koOperationalError: FATAL: sorry, too many clients already
  • log_destination – określa format generowanych danych i sposób ich generowania. Domyślna opcja stderr określa, że informacje są wysyłane na standardowe wyjście, a pozmianie na csvlog, generowane dane będą w postaci nadającej się do dalszej analizy. Parametr może wymagać włączenia opcji logging_collection
  • shared_buffers – współdzielona między sesjami pamięć cache, w której są przechowywane strony odczytane z dysku. Zazwyczaj wartość powinna być duża – zależnie od systemu np 25% wielkości pamięci RAM
  • effective_cache_size – planowana ilość pamięci przewidziana do wykorzystania przez serwer. Wartość wpływa na to, jak serwer zdecyduje się wykonywać zapytania, np. niska ilość pamięci sprawia, że postgres będzie tak planował wykonywanie zapytań, aby w jak najmniejszym stopniu korzystać z pamięci, co zazwyczaj spowoduje wolną pracę serwera
  • work_mem – maksymalna ilość pamięci przewidziana do wykonania pojedynczej czynności takiej jak sortowanie, join lub scan. Z jednej strony wysoka wartość tego parametru pozwala na szybkie wykonanie zadanej czynności, z drugiej ta wartość musi być pomnożona przez liczbę jednocześnie pracujących użytkowników. Zbyt wysoka wartość spowoduje więc szybką konsumpcję dostęnych zasobów
  • maintenance_work_mem – opcja podobna do work_mem, ale dotyczy czynności administracyjnych i związanych z housekeepingiem. Nie powinna przekraczać 1GB
  • max_parallel_workers_per_gather, max_parallel_workers – pozwalają zdefiniować liczbę wątków, które mogą być jednocześnie wykorzystane do wykonania jednego zapytania. Wartość nie może przekraczać max_parallel_workers

Dodaj komentarz:

Autor: Rafał Kraik