Szkolenie Administracja, replikacja i tuning baz danych PostgreSQL - TERMIN GWARANTOWANY - 21.06.2027
Szkolenie Administracja, replikacja i tuning baz danych PostgreSQL: TERMIN GWARANTOWANY 21-25.06.2027
Szkolenie online na żywo z trenerem, 5 dni, w godz. 9:00-16:00. Termin gwarantowany odbędzie się na pewno, nawet przy jednym uczestniku. Prowadzi: Jacek Januszewski.
Szczegóły szkolenia, program i zapisy: Szkolenie Administracja, replikacja i tuning baz danych PostgreSQL na jsystems.pl
Wszystkie terminy gwarantowane JSystems: lista terminów gwarantowanych
W skrócie
Pięć dni i odtwarzasz bazę do stanu sprzed wybranej minuty, uruchamiasz replikację na drugi serwer i przyspieszasz zapytania, wiedząc, co je spowalnia.
Przechodzisz całą drogę administratora: od instalacji i konfiguracji klastra, przez użytkowników, uprawnienia i kopie zapasowe, po partycjonowanie, indeksy i testy obciążeniowe, którymi mierzysz efekt swoich zmian.
Wydajność stroisz zarówno od strony administracyjnej, jak i programistycznej. Przyspieszasz nie tylko zapytania SELECT, ale też modyfikacje danych i polecenia zmieniające strukturę bazy (DDL).
Co potrafisz po tych 5 dniach
- Instalujesz, konfigurujesz i aktualizujesz klaster - Instalacja, uruchamianie i automatyczny start usługi, dostęp z sieci, praca w pgAdmin i psql, logi serwera ze strefą czasową i zapisem w formacie CSV, który ładujesz do tabeli, oraz przejście na nowszą wersję PostgreSQL.
- Znasz budowę klastra i panujesz nad jego parametrami - Katalogi i pliki, bazy danych, schematy i przestrzenie tabel, czyli wskazane miejsca na dysku dla danych, między którymi przenosisz obiekty. Parametry ustawiasz dla klastra, bazy, użytkownika, użytkownika w konkretnej bazie albo pojedynczej sesji i przywracasz wartości domyślne.
- Zarządzasz użytkownikami i uprawnieniami - Role i role grupowe, przez które nadajesz uprawnienia wielu osobom naraz, uprawnienia w schematach, sprawdzanie i odbieranie uprawnień oraz rozłączanie sesji.
- Diagnozujesz blokady i dbasz o kondycję bazy - Transakcje, wykrywanie blokad i ich rejestrowanie w logach, automatyczne zrywanie sesji bezczynnych w otwartej transakcji oraz VACUUM, czyli odzyskiwanie miejsca po usuniętych i zmienionych wierszach: zwykły, pełny i automatyczny, razem z wpływem na wydajność.
- Odtwarzasz bazę po awarii - Wiesz, jak działa dziennik zapisu (pliki WAL), do którego każda zmiana trafia, zanim znajdzie się w plikach danych, i jakie parametry nim sterują. Robisz kopie logiczne narzędziem pg_dump, kopie zimne przy zatrzymanym serwerze i gorące przez pg_basebackup z archiwizacją ciągłą, sprawdzasz ich spójność i odtwarzasz bazę do wybranego punktu w czasie.
- Konfigurujesz replikację strumieniową - Drugi serwer na bieżąco odtwarza zmiany z serwera głównego (układ master-slave): przygotowanie obu serwerów, powielenie klastra, monitoring replikacji oraz różnica między trybem asynchronicznym a synchronicznym.
- Znajdujesz wolne zapytania i czytasz plany wykonania - Wychwytywanie zapytań, które trwają zbyt długo albo tworzą pliki tymczasowe, rozszerzenie pg_stat_statements zbierające statystyki wszystkich zapytań, polecenie EXPLAIN, skan sekwencyjny a dostęp przez indeks, skan równoległy i koszt sortowania oraz parametry pamięci shared_buffers i work_mem.
- Przyspieszasz bazę i mierzysz efekt zmian - Partycjonowanie, czyli podział dużej tabeli na mniejsze części: zakresowe, listowe i hashowe (RANGE, LIST, HASH), także z podpartycjami. Do tego indeksy funkcyjne, unikalne, częściowe i wielokolumnowe, widoki zmaterializowane, czyli zapisane wyniki zapytań, oraz tabele nielogowane, szybsze, bo pomijają dziennik zapisu. Efekt sprawdzasz w widokach statystyk i w testach obciążeniowych PgBench, także na własnych skryptach.
Jak pracujemy
Pięć dni warsztatów. Trzy pierwsze dni to administracja i replikacja, dwa kolejne to strojenie wydajności. Pracujesz na działającej bazie, łącznie z odtwarzaniem po awarii, a ćwiczenia są dobrane tak, żebyś zetknął się z niuansami, które wychodzą dopiero przy praktycznym użyciu. Prowadzi Jacek Januszewski, administrator baz danych PostgreSQL, który specjalizuje się w tuningu baz, optymalizacji zapytań i rozwiązywaniu problemów w środowiskach produkcyjnych.
Dla kogo
Dla administratorów baz danych i systemów, inżynierów DevOps oraz programistów, do których zadań należy albo będzie należeć administracja, zabezpieczenie i optymalizacja baz PostgreSQL, także wtedy, gdy baza nie jest ich głównym zajęciem.
Wymagania wstępne: znajomość SQL i swobodna praca w wierszu poleceń systemu Linux.
Co zyskujesz
Trzy kompetencje w jednym szkoleniu: administrację, replikację i strojenie wydajności PostgreSQL. Szkolenie ma terminy gwarantowane, które odbywają się w zapowiedzianej dacie. Masz fundament do samodzielnego utrzymania bazy PostgreSQL w firmie. Otrzymujesz też imienny certyfikat ukończenia szkolenia.
Zarezerwuj miejsce i utrzymuj PostgreSQL samodzielnie: od instalacji i uprawnień, przez kopie zapasowe i replikację, po strojenie wydajności.
Sprawdź, czy w Twoim przypadku dostępne jest finansowanie szkolenia ze środków BUR/KFS. Dostępność finansowania zależy od warunków danego programu oraz decyzji właściwej instytucji. Więcej informacji: https://jsystems.pl/dofinansowanie/
Prowadzący szkolenie
Doświadczony administrator baz danych PostgreSQL, posiadający również doświadczenie w pracy z Oracle i MongoDB. Od 2008 roku pracuje z systemami przetwarzającymi bardzo duże wolumeny danych. Specjalizuje się w wydajności - tuningu baz danych, optymalizacji zapytań oraz rozwiązywaniu problemów w środowiskach produkcyjnych.
Na co dzień pracuje w Tripstack - firmie z obszaru travel-tech, która rozwija zaawansowane rozwiązania do wyszukiwania i łączenia połączeń lotniczych w skali globalnej, przetwarzając ogromne ilości danych i zapytań w czasie rzeczywistym.
Posiada praktyczne doświadczenie w pracy z PostgreSQL zarówno w dużych instalacjach, jak i systemach o wysokiej intensywności przetwarzania obsługującymi ogromne wolumeny transakcji, w tym w środowiskach opartych o sharding.
Stawia na praktykę - pokazuje nie tylko "jak działa PostgreSQL", ale przede wszystkim jak go diagnozować, optymalizować i bezpiecznie prowadzić w środowisku produkcyjnym.
Program szkolenia
- Instalacja i wstępna konfiguracja klastra PostgreSQL
- Host serwera PostgreSQL
- Instalacja binariów
- Tworzenie klastra
- Konfiguracja na potrzeby systemctl
- Uruchamianie, zatrzymywanie i automatyczne startowanie usługi PostgreSQL
- Uruchamianie i zatrzymywanie za pomocą pg_ctl
- Uruchamianie i zatrzymywanie klastra za pomocą systemctl, autostart usługi
- Sprawdzanie statusu usługi
- Przeładowywanie konfiguracji
- Logi serwera
- logging_collector
- log_directory
- log_destination
- log_filename
- log_rotation_age
- log_min_messages
- log_line_prefix
- Ustawianie głównego hasła
- Dostęp do klastra z sieci, konfiguracja portu nasłuchu i podłączenie pgadmin4
- Korzystanie z psql
- Parametry klastra
- Sprawdzanie parametrów klastra
- Sprawdzanie dostępnych poziomów konfiguracji parametrów
- Zmiana parametrów klastra
- Zmiana i sprawdzenie parametrów na poziomie sesji
- Zmiana i sprawdzenie parametrów konfigurowanych na poziomie bazy danych
- Zmiana i sprawdzanie parametrów konfigurowanych na poziomie użytkownika
- Zmiana i sprawdzanie parametrów konfigurowanych na poziomie użytkownika w konkretnej bazie danych
- Sprawdzanie indywidualnych ustawień dla bazy danych, użytkownika i użytkownika w bazie danych
- Resetowanie ustawień dla bazy danych, użytkownika i użytkownika w bazie danych do domyślnych wartości
- Zmiana i sprawdzanie parametrów konfigurowanych na poziomie klastra
- Ustawianie strefy czasowej dla systemu i logów
- Ustawianie strefy czasowej dla aktualnego czasu
- Ustawianie strefy czasowej dla logów
- Logi w formacie CSV i ładowanie logu do tabeli
- Logowanie nawiązywanych połączeń
- Struktura fizyczna i logiczna klastra PostgreSQL
- Struktura fizyczna - katalogi i pliki
- Bazy danych
- Sprawdzanie informacji o dostępnych bazach danych
- Sprawdzanie wielkości baz danych
- Sprawdzanie przestrzeni tabel w której mieści się baza danych
- Sprawdzanie kto jest właścicielem bazy danych
- Sprawdzanie parametrów ustawionych indywidualnie dla bazy
- Tworzenie bazy danych
- Zmiana właściciela bazy danych
- Konfiguracja indywidualnych parametrów bazy danych
- Przenoszenie bazy danych pomiędzy przestrzeniami tabel
- Zmiana nazwy bazy danych
- Kasowanie bazy danych
- Przestrzenie tabel
- Sprawdzanie położenia przestrzeni tabel
- Sprawdzanie jakie bazy mieszczą się w jakich przestrzeniach tabel
- Sprawdzanie kto jest właścicielem przestrzeni tabel
- Sprawdzanie ustawień indywidualnych przestrzeni tabel
- Tworzenie przestrzeni tabel
- Umieszczanie obiektów w przestrzeni tabel
- Parametr default_tablespace
- Kasowanie przestrzeni tabel
- Przemieszczanie obiektów pomiędzy przestrzeniami table
- Zmiana nazwy przestrzeni tabel
- Zmiana właściciela przestrzeni tabel
- Zmiana parametrów przestrzeni tabel
- Przestrzeń danych tymczasowych
- Tajemnice pg_relation_filepath()
- Schematy
- Informacje podstawowe i schematy domyślne
- Sprawdzanie obiektów znajdujących się w schemacie
- Tworzenie schematu
- Tworzenie obiektów w schemacie
- Dostęp do obiektów w schemacie
- Parametr search_path
- Przenoszenie obiektów między schematami
- Schematy a indeksy
- Zmiana właściciela schematu
- Schematy a uprawnienia
- Zmiana nazwy schematu
- Kasowanie schematu
- Użytkownicy i uprawnienia
- Użytkownicy
- Sprawdzanie informacji o użytkownikach (rolach)
- Tworzenie użytkownika (roli) i jego własności
- Zmiana własności użytkownika (roli)
- Kasowanie użytkownika (roli)
- Uprawnienia
- Dostępne uprawnienia
- Przykłady nadawania uprawnień
- Uprawnienia a schematy
- Sprawdzanie uprawnień
- Odbieranie uprawnień
- Role grupowe i zbiorcze zarządzanie uprawnieniami
- Tworzenie ról grupowych, przydzielanie uprawnień i nadawanie ról grupowych użytkownikom
- Odbieranie ról grupowym użytkownikom
- Sprawdzanie przydzielonych ról grupowych
- Usuwanie ról grupowych
- Rozłączanie sesji
- Użytkownicy
- Transakcje i blokady
- Transakcje
- Blokady
- Jawne blokowanie wierszy
- Wykrywanie blokad
- Rejestrowanie blokad w logach
- Automatyczne zrywanie sesji po określonym czasie bezczynności w transakcji
- VACUUM i wewnętrzne mechanizmy transakcyjności
- Wewnętrzne mechanizmy transakcyjności
- Zwykły VACUUM
- Zmniejszanie plików danych - VACUUM FULL
- Automatyczny VACUUM - autovacuum
- Automatyczny vacuum a odświeżanie statystyk
- Indywidualne ustawianie parametrów autovacuum dla obiektów
- Monitorowanie działania VACUUM I AUTOVACUUM
- VACUUM a wydajność
- Checkpointy i pliki WAL
- W jaki sposób PostgreSQL zapisuje dane? Czym są pliki WAL i checkpoint?
- Kiedy następuje checkpoint?
- Parametry związane z checkpointem i plikami WAL
- max_wal_size
- checkpoint_timeout
- checkpoint_completion_target
- log_checkpoints i monitorowanie checkpointów
- Szacowanie potrzebnego "max_wal_size" na podstawie "checkpoint_timeout" i danych statystycznych
- Kopie zapasowe i awaryjne odtwarzanie klastra
- Backup logiczny za pomocą pg_dump i pg_dumpall oraz odtwarzanie
- Zimny backup na poziomie fizycznym i jego odtwarzanie
- Archiwizacja ciągła, gorące kopie zapasowe i ich odtwarzanie
- Włączanie archiwizacji ciągłej
- Wykonanie lokalnej kopii zapasowej za pomocą pg_basebackup
- Wykonanie zdalnej kopii zapasowej za pomocą pg_basebackup
- Użyteczne przełączniki pg_basebackup
- Czyszczenie niepotrzebnych zarchiwizowanych plików WAL
- Weryfikacja spójności kopii zapasowej
- Odtwarzanie klastra na podstawie kopii fizycznej i zarchiwizowanych plików WAL
- Odtwarzanie do punktu w czasie
- Odtwarzanie klastra a przestrzenie tabel w innych niż PGDATA lokalizacjach
- Upgrade klastra
- Weryfikacja możliwości wykonania upgrade
- Upgrade klastra z użyciem linkowania plików
- Upgrade klastra z użyciem kopiowania plików
- Replikacja fizyczna strumieniowa master-slave
- Rodzaje replikacji
- Czynności po stronie serwera master
- Duplikacja klastra
- Czynności po stronie serwera slave
- Monitoring replikacji
- Replikacja asynchroniczna
- Replikacja synchroniczna
- Tuning
- Parametr shared_buffers
- Parametr work_mem
- Odnajdywanie problematycznych zapytań
- Wychwytywanie tworzenia plików tymczasowych - log_temp_files
- Wykrywanie zapytań trwających dłużej niż X - log_min_duration_statement
- Rozszerzenie pg_stat_statements i wykrywanie problematycznych zapytań
- Analiza planów wykonania
- Polecenie explain plan
- Metody dostępu do danych
- Dane statystyczne w planach wykonania
- Skan sekwencyjny a dostęp poprzez indeks
- Skan równoległy
- Sortowanie i implikacje sortowania
- Inne elementy pojawiające się w planach
- Partycjonowanie tabel
- Zasada działania partycjonowania
- Partycjonowanie a klucz główny i indeksy
- Partycjonowanie zakresowe
- Partycjonowanie po wartości
- Partycjonowanie hash'owe
- Subpartycje
- Indeksy
- Zasada działania
- Indeksy jedno i wielokolumnowe
- Indeksy funkcyjne
- Indeksy unikalne
- Indeksy częściowe
- Klauzula concurrently
- Indeksy a DML
- Widoki zmaterializowane
- Zastosowanie widoków zmaterializowanych
- Tworzenie widoków zmaterializowanych
- Odświeżanie widoków zmaterializowanych
- Tabele nielogowane
- Tworzenie tabel logowanych i nielogowanych
- Tabele nielogowane a utrata danych i replikacja
- Przydatne słowniki
- pg_stat_all_tables
- pg_stat_user_tables
- pg_stat_sys_tables
- pg_statio_user_tables
- pg_statio_user_indexes
- pg_stat_database
- resetowanie słowników
- PgBench
- Inicjalizacja bazy testowej
- Uruchamianie testów na określony czas
- Testy wielosesyjne i wielowątkowe
- Testy DML+SELECT/SELECT
- Testy z użyciem własnych skryptów
Przeczytaj na naszym blogu
- Kurs administracji PostgreSQL
- AI w bazie danych Oracle - Vector Search, Select AI i Machine Learning w wydaniu 23ai/26ai
- 100 najczęstszych pytań i problemów związanych z PostgreSQL
- n8n jako narzędzie integracji baz danych: Oracle do PostgreSQL i MS SQL bez pisania ETL-a
- Nowości w Oracle po 18c - co przyniosły 19c, 21c, 23ai i 26ai (z przykładami kodu)
Zapisz się na termin gwarantowany: Szkolenie Administracja, replikacja i tuning baz danych PostgreSQL | wszystkie terminy gwarantowane
Pytania: [email protected], tel. 22 299 53 69
