PostgreSQL Administration and Performance Tuning

Nivå:

Nybörjare

Varaktighet:

5 dagar

Datum och varaktighet

Se tillgängliga datum för den här kursen!
Kontakta oss om det inte finns något datum och tid för en viss utbildning du är intresserad av.

Se datum >>

 

Denna utbildning kan också hållas hos dig eller som online-utbildning särskilt för ditt företag. I det här fallet kan kursagendan också anpassas för att passa dina behov bäst.

Läs mer om vår anpassade utbildning >>

 

Kursen tar 5 dagar med 8 timmar vardera (på plats) eller 4 timmar vardera (online).
Den enda skillnaden är att det blir mindre praktiska övningar i en online-kurs. Vi överlämnar dem dock till dig och du kan fortfarande göra dem på egen hand och be våra konsulter om feedback eller hjälp om det behövs.

Publik

Kursen är särskilt lämplig för databasadministratörer (Linux / Windows / Solaris / Mac OS X) och sysadmis. Vi kommer att hantera ämnen för administration och prestandajustering.

Tillgängligt språk

Kursen kan hållas på engelska, tyska, spanska, polska, estniska, ukrainska och ryska.

KURSINNEHÅLL

Nedan hittar du ämnen som kan behandlas i denna kurs. Det faktiska valet av ämnen beror på kursdeltagarnas behov och intressen.

 

Installing PostgreSQL

  • Installing PostgreSQL on Windows (if required)
  • Installing PostgreSQL on Linux
  • Running PostgreSQL as container (Docker)
  • Creating database instances
  • Creating and dropping databases
  • Encoding and character sets
  • Adjusting kernel parameters

The PostgreSQL architecture

  • Overview of PostgreSQL
  • Postmaster and its child processes
  • Backend connections
  • Using shared memory
  • Stats collector
  • Checkpoint subprocesses

PostgreSQL indexing and performance

  • Types of PostgreSQL indexes
  • Understanding the PostgreSQL optimizer
  • EXPLAIN and EXPLAIN ANALYZE
  • Reading execution plans
  • Detecting slow queries
  • Find missing indexes
  • Full text search
  • GIS indexing and geospatial search

Transactions and locking

  •     The PostgreSQL transactional model
  •     Understanding MVCC (MultiVersion Concurrency Control)
  •     FOR UPDATE vs. FOR SHARE vs. LOCK TABLE
  •     Managing transactional integrity
  •     Using advisory locks
  •     Understanding deadlocks
  •     Making use of transaction isolation levels
  •     Detecting locking problems

Storage management

  •     Using tablespaces
  •     VACUUM and VACUUM FULL
  •     Understanding pg_squeeze
  •     Preventing table bloat
  •     Improving UPDATE performance
  •     HOT-UPDATE and FILLFACTOR
  •     PostgreSQL partitioning

Upgrading PostgreSQL

  •     pg_upgrade at work

WAL: The PostgreSQL transaction log

  •     How PostgreSQL writes data to disk
  •     Improving checkpoint performance (postgresql.conf)
  •     Speeding up bulk loads
  •     Asynchronous COMMIT
  •     Unlogged tables

Memory management

  •     Adjusting shared_buffers
  •     Improving work_mem and maintenance_work_mem
  •     Understanding additional memory parameters

PostgreSQL replication

  •     Setting up streaming replication
  •     Synchronous vs. asynchronous replication
  •     Automated failover (Patroni)
  •     Managing service IPs
  •     Handling replication conflicts
  •     Using pg_rewind manually
  •     Logical replication

Database backups

  •     Utilizing pg_dump and pg_restore
  •     Binary backups (pg_basebackups)
  •     Point-In-Time-Recovery (PITR)
  •     Backup tools (pgbackrest)

PostgreSQL security

  •     TCP vs. UNIX sockets
  •     Managing pg_hba.conf
  •     Central authentication
  •     Encrypted database connections
  •     Creating users / roles
  •     Access permissions (GRANT / REVOKE)
  •     Defining default priviledges
  •     PostgreSQL on disk encryption
  •     Row Level Security (RLS)
  •     Security barrier, leakproof functions, etc

PostgreSQL monitoring and logging

  •     Managing log files
  •     Handling log rotation
  •     Understanding PostgreSQL system tables
  •     Using pg_stat_statements
  •     Inspecting performance vitals
  •     Checking stored procedure performance
  •     Making use of pgwatch2 monitoring

Parallel queries

  •     Configuring parallel queries
  •     How the optimizer handles parallelism
  •     Performance considerations

Server side code

  •     Optimizing PL/pgSQL procedures
  •     Finding bottlenecks in serverside code
  •     Monitoring procedures
  •     Deploying PostgreSQL extensions

Foreign Data Wrappers

  •     Accessing remote data
  •     Connecting to Oracle
  •     Connecting to PostgreSQL
  •     Migrating data to PostgreSQL
  •     Implications for the optimizer

 

Kontakta oss för att anmäla dig till den här kursen >>