1. 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
  2. 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
  3. Ustawianie strefy czasowej dla systemu i logów
    • Ustawianie strefy czasowej dla aktualnego czasu
    • Ustawianie strefy czasowej dla logów
  4. Logi w formacie CSV i ładowanie logu do tabeli
  5. Logowanie nawiązywanych połączeń
  6. 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
  7. 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
  8. 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
  9. 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ść
  10. 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
  11. 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
  12. Upgrade klastra
    • Weryfikacja możliwości wykonania upgrade
    • Upgrade klastra z użyciem linkowania plików
    • Upgrade klastra z użyciem kopiowania plików
  13. 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
  14. 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
Ostatnia modyfikacja: niedziela, 10 listopada 2024, 01:07