Visão Geral
Curso PostGreSQL Administration And Performance Tuning, PostgreSQL é o banco de dados de código aberto mais avançado do mundo, o que significa que não há restrições de licença estranhas, custos inesperados ou longos tempos de implantação. É por isso que empresas como Netflix, Uber e Instagram executam PostgreSQL. Agora você pode aprender a instalar, administrar, proteger e gerenciar seu banco de dados PostgreSQL com este curso abrangente.
Este curso cobre todos os principais tópicos relacionados ao PostgreSQL. Além das tarefas administrativas básicas, lidamos com ajuste de desempenho, monitoramento, replicação e outros tópicos importantes.
Durante o workshop, você aprenderá em primeira mão no que prestar atenção e como atingir seus objetivos. Você receberá uma ampla base técnica para gerenciar seu banco de dados com habilidade.
Conteúdo Programatico
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