PL/pgSQL i tuning w 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
- PL/pgSQL w PostgreSQL
- Wprowadzenie do języka PL/pgSQL
- Różnice między językami SQL ,a PL/pgSQL
- Programy klienckie
- Zmienne i stałe
- tworzenie
- przypisywanie wartości
- zasięg
- Komunikaty
- Operatory
- Funkcje wbudowane
- Instrukcje sterujące
- instrukcja IF
- instrukcja CASE
- Pętle
- pętla FOR
- pętla EXIT WHEN
- pętla WHILE
- Wyjątki
- wyjątki predefiniowane
- własne wyjątki
- obsługa wyjątków
- Złożone typy danych
- Rekord
- Type
- Tablica
- SQL w kodzie PL/pgSQL
- polecenie INSERT
- polecenie INSERT INTO SELECT
- polecenie UPDATE
- polecenie DELETE
- polecenie SELECT
- Kursory
- kursor jawny
- kursor niejawne
- pętla kursorowa
- parameteryzacja kursora
- refcursor
- Funkcje
- funkcje nie zwracające wartości
- funkcje zwracające jedna wartosc
- funkcje zwracjace rekord
- funkcje zwracające tablice
- funkcje zwracające wynik zapytania
- Wyzwalacze
- obiektowe
- wierszowe
- na widokach
- SQL dynamiczny
- polecenia DDL i DCL
- dynamiczne kursory
- dynamiczny PL/pgSQL
- Transakcyjność w PL/pgSQL
- Optymalizacja wykonania kodu PL/pgSQL
- Najlepsze praktyki w pisaniu kodu
- Tuning w PostgreSQL
- 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
- 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ść
- 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
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!Szkolenie przeznaczone dla osób które chcą tworzyć programy składowane w bazie danych PostgreSQL. Kurs poszerzy możliwości analityków, ale również wspomoże pracę programistów wykorzystujących bazy PostgreSQL o możliwości których nie udostępnia SQL. Ponadto szkolenie obejmuje zagadnienia optymalizacyjne często wykorzystywane w pracy programistów, a nie wymagające uprawnień administratora.
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