Zmiana konfiguracji bazy danych PostgreSQL w ServBay
ServBay to zaawansowane, lokalne środowisko programistyczne dla macOS, które integruje m.in. bazę danych PostgreSQL. W tym artykule szczegółowo opisujemy, jak zmienić ustawienia konfiguracyjne PostgreSQL w ServBay: zarówno w zalecany sposób przez wygodny interfejs graficzny, jak i poprzez ręczną edycję plików konfiguracyjnych (tylko do tymczasowego użytku).
W zależności od wersji PostgreSQL zainstalowanej w ServBay, główne pliki konfiguracyjne znajdują się zazwyczaj w katalogu /Applications/ServBay/etc/postgresql/<version>
, na przykład konfiguracja dla PostgreSQL 16 to /Applications/ServBay/etc/postgresql/16
.
Ważna informacja
ServBay zarządza większością ustawień konfiguracyjnych przez graficzny interfejs użytkownika (UI) i automatycznie generuje odpowiednie pliki konfiguracyjne. Zalecamy dokonywanie zmian wyłącznie przez interfejs ServBay UI. Bezpośrednia edycja plików konfiguracyjnych może spowodować nadpisanie wprowadzonych zmian podczas kolejnego zarządzania lub aktualizacji konfiguracji przez ServBay. Bezpośrednie zmiany ręczne przeznaczone są dla tymczasowych testów lub zaawansowanych użytkowników, którzy rozumieją działanie konfiguracji na niskim poziomie — nie są polecane do stałych zmian ani w środowisku produkcyjnym.
Zmiana ustawień przez UI ServBay (zalecane)
ServBay oferuje intuicyjny, graficzny panel administracyjny — to najprostszy i najbardziej polecany sposób modyfikowania ustawień PostgreSQL. Zmiany wprowadzone przez interfejs UI są automatycznie i natychmiast stosowane, zazwyczaj bez potrzeby ręcznego restartowania usługi (chyba że ServBay wyświetli stosowną informację).
Krok po kroku
- Uruchom aplikację ServBay.
- W lewym panelu nawigacyjnym wybierz
Bazy danych
. - W liście znajdź
PostgreSQL
i kliknij wersję, którą chcesz skonfigurować. - Przejdź do ekranu konfiguracji PostgreSQL, gdzie zobaczysz szczegóły oraz opcje ustawień wybranej wersji.
Ścieżki konfiguracyjne
W tym oknie możesz podejrzeć domyślnego użytkownika i hasło PostgreSQL (informacje te wyświetlane są na tej stronie). Możesz też bezpośrednio zmienić wybrane, najczęściej używane parametry:
- Adresy nasłuchu (
listen_addresses
): określa, na jakich interfejsach sieciowych PostgreSQL będzie nasłuchiwał. Domyślnie to*
(wszystkie interfejsy). - Port (
port
): port sieciowy, na którym nasłuchuje PostgreSQL. Domyślnie 5432 (to inny port niż MySQL/MariaDB — 3306). - Maksymalna liczba połączeń (
max_connections
): limit jednoczesnych połączeń do bazy danych. - Pamięć robocza (
work_mem
): ilość pamięci przydzielanej pojedynczemu zapytaniu do operacji sortowania i tablic haszujących.
Dodatkowo, w sekcji Additional Parameters
możesz dodać lub zmodyfikować inne parametry z postgresql.conf
, które nie są bezpośrednio dostępne w UI. Każdy parametr podawaj w nowej linii jako nazwa_parametru = wartość
.
Zastosowanie zmian
Po zakończeniu edycji kliknij przycisk Zapisz
na dole okna. ServBay automatycznie zastosuje zmiany. Większość parametrów działa natychmiastowo. W rzadkich przypadkach może być konieczny restart PostgreSQL, o czym ServBay poinformuje w interfejsie.
Ręczna edycja plików konfiguracyjnych (niezalecana do trwałych zmian)
Jak wspomnieliśmy, ręczna edycja plików nie jest rekomendowana jako metoda zarządzania konfiguracją, ponieważ ustawienia z UI mogą nadpisać wszystkie wprowadzone zmiany. Mimo to, znajomość lokalizacji i zawartości tych plików pomaga lepiej zrozumieć działanie PostgreSQL.
WARNING
Ręczna edycja plików konfiguracyjnych powinna być wykorzystywana wyłącznie do tymczasowego debugowania lub zaawansowanej diagnostyki. ServBay zdecydowanie zaleca korzystanie z UI do wszelkich modyfikacji, aby mieć pewność, że ustawienia pozostaną spójne i nie zostaną utracone. Zarządzanie plikami oraz ich ścieżkami może być zmienione przez mechanizmy wewnętrzne ServBay.
Lokalizacja plików konfiguracyjnych
Podstawowe pliki konfiguracyjne PostgreSQL w ServBay to postgresql.conf
i pg_hba.conf
. Konkretne ścieżki zależą od wybranej wersji PostgreSQL:
postgresql.conf
:/Applications/ServBay/etc/postgresql/<version>/postgresql.conf
pg_hba.conf
:/Applications/ServBay/etc/postgresql/<version>/pg_hba.conf
Pamiętaj, że niektóre dokumentacje mogą wskazywać na ścieżkę /db/postgresql/16/pg_hba.conf
— to mogło dotyczyć starszych wersji bądź wewnętrznych mechanizmów ServBay. Główna obsługa UI bazuje na katalogu /Applications/ServBay/etc
. Chcąc mieć pewność zgodności z UI ServBay, korzystaj z katalogu /Applications/ServBay/etc/postgresql/<version>
jako głównej lokalizacji plików.
Przykładowe ustawienia konfiguracji
Oto najczęściej wykorzystywane ustawienia w plikach postgresql.conf
i pg_hba.conf
. Pliki edytuj w wybranym edytorze tekstu (np. VS Code, Sublime Text, Nano) z uprawnieniami administratora.
postgresql.conf
postgresql.conf
to główny plik konfiguracyjny serwera PostgreSQL — zarządza większością jego zachowań.
yaml
# Adresy nasłuchu: interfejsy, których PostgreSQL będzie nasłuchiwać. '*' - wszystkie interfejsy.
listen_addresses = '*'
# Port: port sieciowy PostgreSQL. Domyślny standardowy port to 5432.
port = 5432
# Maksymalna liczba połączeń: limit równoczesnych połączeń z bazą danych.
max_connections = 100
# Rozmiar bufora współdzielonego: ilość pamięci na buforowanie danych.
shared_buffers = 128MB
# Katalog dzienników: miejsce przechowywania plików logów.
log_directory = 'log'
# Format nazw plików logów.
log_filename = 'postgresql-%Y-%m-%d.log'
# Włączanie logowania wolnych zapytań: rejestruje zapytania trwające dłużej niż zadany czas (w ms).
# Ustaw liczbę np. 2000 aby zapisywać zapytania trwające powyżej 2 sekund.
# Wartość -1 wyłącza logowanie wolnych zapytań.
log_min_duration_statement = 2000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
pg_hba.conf
Plik pg_hba.conf
(Host-Based Authentication) odpowiada za konfigurację metody uwierzytelnienia użytkowników i dostępów do bazy.
sql
# TYPE DATABASE USER ADDRESS METHOD
# Pozwól na lokalne połączenia przez Unix socket — metoda trust (bez hasła).
# "local" is for Unix domain socket connections only
local all all trust
# Pozwól wszystkim adresom IPv4 na zdalne połączenia przez TCP/IP z użyciem hasła (md5).
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# Pozwól tylko określonej podsieci IPv4 (np. 192.168.1.0/24) na połączenia przez TCP/IP, metoda md5.
# IPv4 local connections from a specific subnet:
# host all all 192.168.1.0/24 md5
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
Edycja pg_hba.conf
wymaga zrozumienia znaczenia każdej kolumny (TYPE
, DATABASE
, USER
, ADDRESS
, METHOD
). Błędne ustawienia mogą spowodować brak połączenia lub zagrożenia bezpieczeństwa.
Zastosowanie zmian wprowadzonych ręcznie
Po wprowadzeniu zmian w plikach należy zrestartować usługę PostgreSQL, aby zostały one uwzględnione.
Restart przez panel zarządzania ServBay
- Otwórz interfejs zarządzania ServBay.
- W panelu po lewej wybierz
Bazy danych
. - Znajdź
PostgreSQL
— wybierz wersję, w której wprowadzałeś zmiany. - W tym oknie lub w głównym widoku “Pakiety” / “Usługi” znajdź odpowiednią usługę PostgreSQL i kliknij
Restartuj
.
Restart przez narzędzie CLI servbayctl
ServBay oferuje narzędzie CLI servbayctl
do codziennej administracji, w tym restartu PostgreSQL:
bash
servbayctl restart postgresql <version>
1
Zamień <version>
na numer wersji używanego PostgreSQL, np. 16
.
Podsumowanie
ServBay oferuje wygodny i zalecany interfejs UI do konfigurowania PostgreSQL — pozwala to uniknąć problemów z nadpisaniem ręcznie edytowanych plików. Poprzez UI można łatwo zmienić najważniejsze opcje, np. adresy nasłuchu, port, liczbę połączeń czy podejrzeć domyślne dane dostępowe. Do tymczasowych przypadków można edytować pliki postgresql.conf
i pg_hba.conf
w katalogu /Applications/ServBay/etc/postgresql/<version>
. Po każdej zmianie — bez względu na sposób edycji — konieczny jest restart usługi PostgreSQL (z poziomu ServBay UI lub polecenia servbayctl
).
Poznanie i zrozumienie tych opcji pozwoli Ci efektywnie dostosować środowisko PostgreSQL w ServBay do Twoich potrzeb programistycznych.