สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
ฐานข้อมูล · DBC-21

PostgreSQL Administration

หลักสูตร PostgreSQL Administration เป็นการอบรมการติดตั้งและดูแล PostgreSQL 18 ในระบบจริง ทั้งความปลอดภัย การสำรองข้อมูลและ PITR ด้วย pgBackRest การ Monitoring, Replication และ High Availability ด้วย Patroni จนถึงการ Upgrade และรันบน Kubernetes เหมาะกับ DBA ผู้ดูแลระบบ และทีม DevOps ที่ดูแลฐานข้อมูล

อัปเดตล่าสุด
ราคาเริ่มต้น 8,010 บาท / ท่าน 8,900 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไป15–17 ธ.ค. 69
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

PostgreSQL กลายเป็นฐานข้อมูลหลักขององค์กรจำนวนมาก ทั้งระบบที่พัฒนาใหม่และระบบที่ย้ายมาจาก Oracle, SQL Server หรือ MySQL แต่การติดตั้งให้รันได้เป็นแค่จุดเริ่มต้น งานที่ทำให้ระบบอยู่รอดจริงคือการตั้งค่าให้เหมาะกับเครื่อง คุมสิทธิ์และความปลอดภัย ดูแล Vacuum สำรองข้อมูลให้กู้คืนได้จริง เฝ้าดูประสิทธิภาพ และเตรียมระบบให้ทนต่อเครื่องเสียโดยไม่ต้องหยุดบริการนาน

หลักสูตรนี้พาผู้เรียนบริหาร PostgreSQL 18 ครบวงจรแบบลงมือทำ เริ่มจากสถาปัตยกรรม การติดตั้งบน Linux และ Docker การตั้งค่า postgresql.conf รวมถึง Asynchronous I/O ที่มาใหม่ใน 18 ต่อด้วย Role สิทธิ์ การยืนยันตัวตนด้วย SCRAM และ OAuth, TLS, Row-Level Security และ pgAudit วันที่สองเน้นงานประจำของ DBA ทั้ง Autovacuum, pg_dump, pg_basebackup แบบ Incremental, PITR ด้วย pgBackRest, Monitoring และ PgBouncer วันสุดท้ายทำ Replication, High Availability ด้วย Patroni, อัปเกรดเวอร์ชันหลักด้วย pg_upgrade และดูทางเลือกบน Kubernetes กับ Cloud ก่อนปิดด้วย Capstone ที่ต้อง Failover และกู้คืนข้อมูลให้ได้จริง (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate ถึง Advanced)

สิ่งที่คุณจะได้รับ

  • อธิบายสถาปัตยกรรม PostgreSQL ทั้ง Process, Shared Buffers, WAL, Checkpoint และ MVCC ได้
  • ติดตั้ง PostgreSQL 18 บน Linux และ Docker และปรับค่า postgresql.conf ให้เหมาะกับเครื่อง
  • ออกแบบ Role สิทธิ์ และ Schema พร้อมวางระบบยืนยันตัวตน TLS, RLS และ Audit
  • ดูแล Autovacuum และ Bloat และทำงานบำรุงรักษาประจำโดยไม่กระทบผู้ใช้
  • วางแผนสำรองข้อมูลและกู้คืนถึงจุดเวลาที่ต้องการ (PITR) ด้วย pgBackRest
  • เฝ้าดูประสิทธิภาพด้วย pg_stat_*, pg_stat_statements, Prometheus และ Grafana
  • ตั้ง Replication และระบบ High Availability ด้วย Patroni และซ้อม Failover ได้
  • อัปเกรดเวอร์ชันหลักแบบ Downtime ต่ำ และเลือกแนวทางบน Kubernetes หรือ Cloud ได้

หลักสูตรนี้เหมาะสำหรับ

  • DBA ที่ดูแลหรือกำลังจะรับผิดชอบฐานข้อมูล PostgreSQL
  • System Administrator และทีม Infrastructure ที่ต้องติดตั้งและดูแลเซิร์ฟเวอร์ฐานข้อมูล
  • ทีม DevOps และ SRE ที่รัน PostgreSQL ใน Production ทั้งบน VM, Container และ Cloud
  • ทีมที่กำลังย้ายระบบจาก Oracle, SQL Server หรือ MySQL มาใช้ PostgreSQL
  • นักพัฒนาที่ต้องดูแลฐานข้อมูลของระบบตนเองใน Production

พื้นฐานของผู้เข้าอบรม

  • ใช้งาน Linux ผ่าน Command Line ได้ เช่น จัดการไฟล์ สิทธิ์ และ Service
  • เขียนคำสั่ง SQL พื้นฐานได้ เช่น SELECT, INSERT, UPDATE และ CREATE TABLE
  • เข้าใจพื้นฐานเครือข่าย เช่น IP, Port และการเชื่อมต่อผ่าน SSH
  • โน้ตบุ๊กที่ติดตั้ง Docker ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab บน Linux Container ด้วย Docker ระดับ Intermediate ถึง Advanced หลักสูตรนี้แทนหลักสูตร PostgreSQL for Administration รุ่นเดิมที่สอนบนเวอร์ชัน 9.4 และ pgAdmin III โดยเขียนเนื้อหาใหม่ทั้งหมดให้ตรงกับ PostgreSQL 18 ซึ่งเป็นรุ่นเสถียรปัจจุบัน ครอบคลุมฟีเจอร์ใหม่อย่าง Asynchronous I/O, OAuth Authentication, Incremental Backup และ pg_upgrade ที่เก็บสถิติไว้ รวมถึงเครื่องมือที่ใช้กันจริงในปัจจุบันอย่าง pgBackRest, PgBouncer, Patroni และ CloudNativePG ผู้เรียนจะได้ Lab Guide ไฟล์คอนฟิกครบทุก Lab และ Runbook งานประจำของ DBA กลับไปใช้งานต่อ

Day 1 ติดตั้ง สถาปัตยกรรม และความปลอดภัย

Section 1: สถาปัตยกรรม PostgreSQL และวงจรเวอร์ชัน

  • โครงสร้าง Process: Postmaster, Backend, Checkpointer, WAL Writer และ Autovacuum
  • Shared Buffers, WAL และ Checkpoint ทำงานร่วมกันอย่างไรเมื่อมีการเขียนข้อมูล
  • MVCC, Tuple Version และเหตุผลที่ PostgreSQL ต้องมี Vacuum
  • นโยบายซัพพอร์ต 5 ปี: เวอร์ชัน 9.x ถึง 13 หมดอายุแล้ว และ PostgreSQL 18 คือรุ่นเสถียรปัจจุบัน
  • ความเสี่ยงของการใช้รุ่นที่หมดซัพพอร์ต และภาพรวมสิ่งที่กำลังมาใน PostgreSQL 19

Section 2: Lab: ติดตั้ง PostgreSQL 18 บน Linux และ Docker

  • ติดตั้งจาก PGDG Repository และจัดการ Service ด้วย systemd
  • รัน PostgreSQL 18 ด้วย Docker พร้อม Volume สำหรับเก็บข้อมูลถาวร
  • initdb, โครงสร้าง Data Directory และ Data Checksums ที่เปิดเป็นค่าเริ่มต้นใน 18
  • แยก Tablespace และดิสก์สำหรับ Data กับ WAL
  • ใช้ psql อย่างมืออาชีพ และจัดการเซิร์ฟเวอร์ผ่าน pgAdmin 4

Section 3: Lab: ตั้งค่า postgresql.conf และปรับขนาดให้เหมาะกับเครื่อง

  • ลำดับการอ่านค่าคอนฟิก, ALTER SYSTEM และค่าที่ต้อง Restart หรือแค่ Reload
  • shared_buffers, work_mem, maintenance_work_mem และ effective_cache_size
  • max_wal_size, checkpoint_timeout และผลต่อ I/O ของระบบ
  • Asynchronous I/O ใน PostgreSQL 18: io_method แบบ worker และ io_uring
  • ตั้งค่า Logging ให้พร้อมใช้วิเคราะห์ปัญหาตั้งแต่วันแรก

Section 4: Role, สิทธิ์ และ Schema

  • Role, User และ Group ใน PostgreSQL และการสืบทอดสิทธิ์
  • GRANT และ REVOKE ระดับ Database, Schema, Table และ Column
  • ออกแบบ Schema ตามหลัก Least Privilege สำหรับแอปพลิเคชันและทีมงาน
  • ALTER DEFAULT PRIVILEGES สำหรับอ็อบเจกต์ที่จะสร้างในอนาคต
  • Predefined Role เช่น pg_read_all_data, pg_monitor และ pg_maintain

Section 5: Lab: Authentication, TLS, RLS และ Audit

  • เขียน pg_hba.conf ให้รัดกุม และลำดับการจับคู่กฎ
  • ย้ายรหัสผ่านไปใช้ SCRAM-SHA-256 เพราะ MD5 ถูกประกาศเลิกใช้ใน 18
  • OAuth Authentication ที่มาใหม่ใน PostgreSQL 18 และการเชื่อมกับ Identity Provider
  • เปิด TLS ให้การเชื่อมต่อ และบังคับใช้ผ่าน hostssl
  • Row-Level Security แยกข้อมูลตามผู้ใช้ และบันทึก Audit ด้วย pgAudit
Day 2 บำรุงรักษา สำรองข้อมูล และประสิทธิภาพ

Section 6: Vacuum, Autovacuum และงานบำรุงรักษาประจำ

  • Dead Tuple, Bloat และ Transaction ID Wraparound
  • ปรับ Autovacuum ทั้งระดับเซิร์ฟเวอร์และรายตารางที่มีการเขียนหนัก
  • ANALYZE และสถิติที่ Query Planner ใช้ตัดสินใจ
  • ตรวจหาและลด Bloat ของตารางและ Index
  • REINDEX CONCURRENTLY และการทำงานบำรุงรักษาโดยไม่ล็อกผู้ใช้

Section 7: Lab: Logical และ Physical Backup

  • pg_dump และ pg_restore: รูปแบบไฟล์, Parallel และการเลือกกู้บางอ็อบเจกต์
  • pg_dumpall สำหรับ Role และ Global Object
  • pg_basebackup สำหรับสำรองทั้งคลัสเตอร์
  • Incremental Backup และการรวมไฟล์ด้วย pg_combinebackup
  • เลือกวิธีสำรองให้เหมาะกับขนาดข้อมูลและ RPO/RTO ขององค์กร

Section 8: Lab: WAL Archiving, PITR และ pgBackRest

  • ตั้ง WAL Archiving และตรวจว่า Archive ครบต่อเนื่อง
  • กู้คืนถึงจุดเวลาที่ต้องการ (Point-in-Time Recovery)
  • pgBackRest: ตั้งค่า Repository, Full, Differential และ Incremental Backup
  • กำหนด Retention และเก็บ Backup ไว้นอกเครื่องฐานข้อมูล
  • ซ้อมกู้คืนตามรอบเวลา เพื่อยืนยันว่า Backup ใช้ได้จริง

Section 9: Lab: Monitoring และวิเคราะห์ประสิทธิภาพ

  • pg_stat_activity, pg_stat_database และ pg_locks สำหรับดูสถานะปัจจุบัน
  • หา Query ที่กินทรัพยากรด้วย pg_stat_statements
  • ดูภาระ I/O ด้วย pg_stat_io และอ่านแผนด้วย EXPLAIN ANALYZE
  • เก็บแผนของ Query ที่ช้าอัตโนมัติด้วย auto_explain
  • สร้าง Dashboard ด้วย postgres_exporter, Prometheus และ Grafana

Section 10: Lab: จัดการ Connection ด้วย PgBouncer

  • ต้นทุนของ Connection ใน PostgreSQL และปัญหาเมื่อเปิดไว้จำนวนมาก
  • ติดตั้งและตั้งค่า PgBouncer หน้าฐานข้อมูล
  • เลือก Pooling Mode: Session, Transaction และ Statement
  • ข้อจำกัดของ Transaction Mode และการปรับแอปพลิเคชันให้รองรับ
Day 3 Replication, High Availability, อัปเกรด และ Cloud

Section 11: Lab: Streaming Replication

  • สร้าง Standby ด้วย pg_basebackup และเปิด Hot Standby ให้อ่านข้อมูลได้
  • Synchronous กับ Asynchronous Replication และผลต่อ Latency กับความเสี่ยงข้อมูลหาย
  • Replication Slot: ประโยชน์และความเสี่ยงที่ WAL จะสะสมจนดิสก์เต็ม
  • ติดตาม Replication Lag และ Promote Standby ด้วยตนเอง

Section 12: Logical Replication

  • Publication และ Subscription สำหรับทำซ้ำบางตารางหรือข้ามเวอร์ชัน
  • Failover Slot ใน PostgreSQL 17 ให้ Subscriber ทำงานต่อหลัง Failover
  • แปลง Physical Standby เป็น Logical Subscriber ด้วย pg_createsubscriber
  • ข้อจำกัดเรื่อง DDL, Sequence และการตรวจความถูกต้องของข้อมูล

Section 13: Lab: High Availability ด้วย Patroni

  • สถาปัตยกรรม Patroni, etcd และ HAProxy และหน้าที่ของแต่ละส่วน
  • สร้างคลัสเตอร์ 3 โหนด และจัดการผ่าน patronictl
  • ซ้อม Switchover ตามแผน และ Failover เมื่อ Primary ล่ม
  • ป้องกัน Split-brain และนำโหนดเดิมกลับเข้าคลัสเตอร์

Section 14: อัปเกรดเวอร์ชันหลักแบบ Downtime ต่ำ

  • pg_upgrade โหมด --link และ --swap ใหม่ใน 18 พร้อมตรวจก่อนอัปเกรดด้วย --check
  • PostgreSQL 18 เก็บสถิติของ Planner ไว้หลัง pg_upgrade ระบบจึงกลับมาเร็วขึ้น
  • อัปเกรดผ่าน Logical Replication เพื่อลด Downtime เหลือช่วงสลับระบบ
  • วางแผนอัปเกรดจากรุ่นเก่า เช่น 9.x ทดสอบ Extension และแผน Rollback

Section 15: PostgreSQL บน Kubernetes และ Managed Service

  • CloudNativePG: Operator, Cluster Resource, Backup และ Failover บน Kubernetes
  • AWS RDS และ Aurora, Azure Database for PostgreSQL และ Google Cloud SQL
  • งานที่ผู้ให้บริการทำให้ และงานที่ DBA ยังต้องรับผิดชอบเอง
  • เกณฑ์เลือกระหว่าง VM, Kubernetes และ Managed Service

Section 16: Lab: Capstone คลัสเตอร์ HA 3 โหนด

  • สร้างคลัสเตอร์ Patroni 3 โหนดพร้อม pgBackRest และ Monitoring
  • จำลองเหตุ Primary ล่ม แล้วตรวจว่าระบบ Failover และแอปพลิเคชันเชื่อมต่อต่อได้
  • จำลองข้อมูลถูกลบผิดพลาด แล้วกู้คืนถึงจุดเวลาก่อนเกิดเหตุ
  • สรุป Runbook และ Checklist สำหรับงานประจำวัน ประจำเดือน และเหตุฉุกเฉิน

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

15–17ธันวาคม
ในคลาสเรียน15–17 ธ.ค. 69
เหลือ 20 ที่นั่ง
23–25กุมภาพันธ์
ในคลาสเรียน23–25 ก.พ. 70
เหลือ 20 ที่นั่ง
23–25มีนาคม
ในคลาสเรียน23–25 มี.ค. 70
เหลือ 20 ที่นั่ง
5–7พฤษภาคม
ในคลาสเรียน5–7 พ.ค. 70
เหลือ 20 ที่นั่ง
21–23กรกฎาคม
ในคลาสเรียน21–23 ก.ค. 70
เหลือ 20 ที่นั่ง
14–16กันยายน
ในคลาสเรียน14–16 ก.ย. 70
เหลือ 20 ที่นั่ง
9–11พฤศจิกายน
ในคลาสเรียน9–11 พ.ย. 70
เหลือ 20 ที่นั่ง

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

Point-in-Time Recovery ใน PostgreSQL คืออะไร และตั้งค่าอย่างไร

Point-in-Time Recovery (PITR) คือการกู้ฐานข้อมูลกลับไปยังเวลาที่ต้องการ เช่น ก่อนข้อมูลถูกลบผิดพลาด โดยใช้ Base Backup ของคลัสเตอร์ร่วมกับไฟล์ WAL ที่เก็บต่อเนื่อง เริ่มจากเปิด WAL Archiving แล้วสำรองด้วย pg_basebackup หรือ pgBackRest เมื่อต้องกู้ให้คืน Base Backup แล้วกำหนด recovery_target_time ให้ระบบเล่น WAL ไปจนถึงเวลานั้น และควรซ้อมกู้คืนเป็นรอบเพื่อยืนยันว่า Backup ใช้ได้จริง

ทำไม PostgreSQL ต้องมี VACUUM

PostgreSQL ใช้ MVCC ซึ่งการ UPDATE หรือ DELETE ไม่ได้ลบแถวเดิมทันที แต่เก็บเป็น Dead Tuple ไว้ให้ Transaction อื่นที่ยังอ่านอยู่ VACUUM จะคืนพื้นที่ของ Dead Tuple ให้นำกลับมาใช้ ลด Bloat ของตารางและ Index และป้องกันปัญหา Transaction ID Wraparound ในงานจริงควรปรับ Autovacuum ให้เหมาะกับตารางที่มีการเขียนหนัก แทนการปิดหรือรอสั่งเอง

Replication แบบ Synchronous กับ Asynchronous ต่างกันอย่างไร

แบบ Asynchronous ให้ Primary ยืนยัน Commit ได้ทันทีโดยไม่รอ Standby จึงเร็วกว่า แต่หาก Primary ล่มอาจเสียข้อมูลช่วงสุดท้ายที่ยังส่งไปไม่ถึง ส่วนแบบ Synchronous รอให้ Standby ยืนยันการรับ WAL ก่อน จึงไม่เสียข้อมูลที่ Commit แล้ว แต่ Latency ของการเขียนสูงขึ้น และหาก Standby ไม่ตอบ การเขียนอาจหยุดรอ การเลือกจึงขึ้นกับว่ายอมเสียข้อมูลได้แค่ไหนเทียบกับความเร็ว

หลักสูตร PostgreSQL Administration เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับ DBA ที่ดูแลหรือกำลังจะรับผิดชอบ PostgreSQL ผู้ดูแลระบบและทีม Infrastructure ทีม DevOps และ SRE ที่รัน PostgreSQL ใน Production และทีมที่กำลังย้ายมาจาก Oracle, SQL Server หรือ MySQL ควรใช้ Linux ผ่าน Command Line ได้ เขียนคำสั่ง SQL พื้นฐานได้ และเข้าใจพื้นฐานเครือข่าย เช่น IP, Port และ SSH

เรียนจบหลักสูตร PostgreSQL Administration แล้วทำอะไรได้บ้าง

ติดตั้งและปรับค่า PostgreSQL 18 ให้เหมาะกับเครื่อง วางสิทธิ์ ระบบยืนยันตัวตน และ TLS สำรองข้อมูลและกู้คืนถึงจุดเวลาที่ต้องการด้วย pgBackRest เฝ้าดูประสิทธิภาพด้วย Prometheus และ Grafana และตั้งคลัสเตอร์ High Availability ด้วย Patroni พร้อมซ้อม Failover ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร PostgreSQL Administration ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น แผนสำรองข้อมูลหรือการอัปเกรดจากรุ่นที่ทีมใช้อยู่ ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449