Section 1: PostgreSQL Architecture และวงจรเวอร์ชัน
- โครงสร้าง Cluster, Database, Schema และ Table และความสัมพันธ์ระหว่างกัน
- Process หลัก Shared Buffers และ WAL โดยสรุป และ MVCC กับเหตุผลที่ต้องมี Vacuum
- นโยบายสนับสนุน 5 ปี PostgreSQL 18 รุ่นเสถียรปัจจุบัน และ PostgreSQL 19 ที่อยู่ระหว่าง Beta
- ความเสี่ยงของการใช้เวอร์ชันที่หมดอายุการสนับสนุน
Section 2: Lab: ติดตั้ง PostgreSQL 18 และเครื่องมือ
- รัน PostgreSQL 18 ด้วย Docker พร้อม Volume เก็บข้อมูลถาวร
- ใช้ psql อย่างมืออาชีพ: l, dn, dt, d, x และการตั้งค่าการแสดงผล
- ใช้ pgAdmin 4: ลงทะเบียนเซิร์ฟเวอร์ Query Tool และ ERD Tool สำหรับอ่านโครงสร้างตาราง
- โหลดฐานข้อมูลตัวอย่าง NovaMart และสำรวจโครงสร้างตาราง
Section 3: Configuration ที่ส่งผลต่องานรายงาน
- ไฟล์ postgresql.conf, ALTER SYSTEM และความต่างของ Reload กับ Restart
- work_mem กับการเรียงลำดับและการสรุปข้อมูลขนาดใหญ่ใน Query รายงาน
- statement_timeout สำหรับป้องกัน Query รายงานที่ทำงานนานเกินไป
- ตั้งค่า Log เพื่อเก็บ Query ที่ช้าไว้วิเคราะห์
Section 4: Roles, Privileges และ Schemas สำหรับทีมรายงาน
- Role, User และ Group ใน PostgreSQL และการสืบทอดสิทธิ์
- GRANT และ REVOKE ระดับ Database, Schema, Table และ Column
- Role Read-only สำหรับรายงาน และ ALTER DEFAULT PRIVILEGES สำหรับตารางในอนาคต
- Predefined Role เช่น pg_read_all_data และ pg_monitor
- ตั้งค่า pg_hba.conf และ SCRAM-SHA-256 ให้เครื่องผู้ใช้เชื่อมต่อจากระยะไกล
Section 5: Lab: สำรองและกู้คืนข้อมูลพื้นฐาน
- pg_dump และ pg_restore: รูปแบบไฟล์ และการกู้คืนเฉพาะบางตาราง
- pg_dumpall สำหรับสำรอง Role และ Global Object
- แนวทางทำสำเนาฐานข้อมูลสำหรับงานรายงาน แยกจากฐานข้อมูลหลักของระบบงาน
- ANALYZE และสถิติที่ Query Planner ใช้ หลังโหลดข้อมูลชุดใหญ่
Section 6: Workshop Day 1: NovaMart Sales Reporting
- ติดตั้ง PostgreSQL 18 ด้วย Docker และโหลดฐานข้อมูล NovaMart
- สร้าง Schema sales และ report
- สร้าง Role report_reader ที่อ่านข้อมูลได้อย่างเดียว แล้วทดสอบเชื่อมต่อจาก pgAdmin 4
- Workshop: สำรองและกู้คืนฐานข้อมูลเพื่อเตรียมใช้ในวันถัดไป