Administracja, replikacja i tuning baz danych PostgreSQL
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
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
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!Kompleksowe, holistyczne szkolenie z zakresu administracji i tuningu baz danych PostgreSQL. Przeznaczone dla osób, do których zadań będzie należeć administracja, zabezpieczenie i optymalizacja baz danych PostgreSQL. Podczas szkolenia omawiane są zagadnienia związane z instalacją, konfiguracją, utrzymaniem, zabezpieczaniem i tuningiem baz danych PostgreSQL.
3 pierwsze dni szkolenia to zakres administracji i replikacji. Kolejne 2 dni to tuning klastrów PostgreSQL. Tuning poznajemy zarówno od strony programistycznej jak i administracyjnej w różnych kontekstach. Optymalizujemy nie tylko zapytania SELECT, ale również przyspieszamy operacje modyfikacji danych czy operacje DDL.
Szkolenie obejmujące zagadnienia od podstawowych po zaawansowane. W czasie szkolenia uczestnicy wykonują wiele praktycznych warsztatów które utrwalają wiedzę i pozwalają się spotkać z niuansami które "wychodzą" dopiero w praktycznym wykorzystaniu omawianych zagadnień.
Jako kontynuację tego szkolenia proponujemy szkolenie "Zaawansowana administracja PostgreSQL: High Availability, Disaster Recovery, monitoring, skalowanie" dotyczące bardziej zaawansowanych zagadnień administracji serwerami PostgreSQL w środowiskach enterprise.
To szkolenie jest również elementem pakietu "Administrator PostgreSQL" .
Stanowisko robocze
Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia