Database User Management ใน PostgreSQL

Database User Management ใน PostgreSQL

การจัดการผู้ใช้ (User Management) เป็นหนึ่งในงานสำคัญที่ผู้ดูแลฐานข้อมูลต้องเข้าใจอย่างถ่องแท้ PostgreSQL มีระบบจัดการสิทธิ์ที่ยืดหยุ่นและรัดกุม โดยใช้แนวคิด Role-Based Access Control ซึ่งช่วยให้สามารถกำหนดสิทธิ์การเข้าถึงข้อมูลได้อย่างละเอียดในทุกระดับ บทความนี้จะอธิบายการสร้าง แก้ไข และลบผู้ใช้งาน

PostgreSQL Initial Configuration — ตั้งค่าเริ่มต้นหลังติดตั้ง

PostgreSQL Initial Configuration — ตั้งค่าเริ่มต้นหลังติดตั้ง

หลังจากติดตั้ง PostgreSQL เสร็จเรียบร้อยแล้ว ขั้นตอนถัดไปที่สำคัญไม่แพ้กันคือการตั้งค่าเริ่มต้นให้เหมาะกับการใช้งานจริง ค่า Default ที่มาพร้อมกับการติดตั้งนั้นถูกออกแบบมาให้ทำงานได้บนทุกเครื่อง แต่ไม่ได้ปรับให้เหมาะกับสภาพแวดล้อมเฉพาะของเซิร์ฟเวอร์แต่ละเครื่อง บทความนี้จะแนะนำการตั้งค่าเริ่มต้นที่คว

การติดตั้ง PostgreSQL 16 บน Cloud VPS

การติดตั้ง PostgreSQL 16 บน Cloud VPS

PostgreSQL เป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์แบบ Open Source ที่ได้รับความนิยมสูง ด้วยความสามารถรองรับ JSON, Full-Text Search, Window Functions และ Extension ต่าง ๆ ทำให้เหมาะกับงานตั้งแต่เว็บแอปพลิเคชันขนาดเล็กไปจนถึงระบบ Enterprise ขนาดใหญ่ เวอร์ชัน 16 มาพร้อมกับการปรับปรุงด้าน Query Performance,

Connection Pooling ด้วย MySQL Proxy

Connection Pooling ด้วย MySQL Proxy

เมื่อแอปพลิเคชันมีผู้ใช้งานจำนวนมากพร้อมกัน การเปิดและปิดการเชื่อมต่อไปยังฐานข้อมูลทุกครั้งที่มี Request เข้ามาจะสร้างภาระหนักให้กับเซิร์ฟเวอร์ฐานข้อมูล เพราะแต่ละการเชื่อมต่อต้องผ่านกระบวนการ TCP Handshake, Authentication และจัดสรร Thread ซึ่งใช้ทั้งเวลาและทรัพยากร Connection Pooling เป็นเทคนิคที่แ

Table Optimization ใน MySQL

Table Optimization ใน MySQL

เมื่อฐานข้อมูล MySQL ใช้งานไปสักระยะ ตารางจะเกิดการกระจัดกระจายของข้อมูล (Fragmentation) พื้นที่ดิสก์ถูกใช้อย่างไม่มีประสิทธิภาพ และสถิติของดัชนีไม่ตรงกับข้อมูลจริง ปัญหาเหล่านี้ทำให้ Performance ลดลงอย่างต่อเนื่องโดยที่ผู้ดูแลระบบอาจไม่ทันสังเกต บทความนี้จะอธิบายวิธีดูแลและปรับปรุงตารางใน MySQL อย่

MySQL Slow Query Log — วิเคราะห์ Query ช้า

MySQL Slow Query Log — วิเคราะห์ Query ช้า

เมื่อแอปพลิเคชันเริ่มตอบสนองช้าลง หนึ่งในขั้นตอนแรกที่ DBA และนักพัฒนาควรทำคือตรวจสอบว่ามีคำสั่ง SQL ใดบ้างที่ใช้เวลานานเกินไป MySQL มีฟีเจอร์ในตัวที่ช่วยบันทึกคำสั่งเหล่านี้โดยอัตโนมัติ นั่นคือ Slow Query Log ซึ่งจะจับทุกคำสั่งที่ใช้เวลาเกินค่าที่กำหนดไว้ ช่วยให้ค้นหาจุดคอขวดได้อย่างตรงจุดโดยไม่ต้อ

Query Optimization ใน MySQL — เทคนิคปรับแต่ง Query ให้เร็วขึ้น

Query Optimization ใน MySQL — เทคนิคปรับแต่ง Query ให้เร็วขึ้น

เมื่อแอปพลิเคชันเริ่มช้าลง สาเหตุหลักมักไม่ได้อยู่ที่โค้ดฝั่ง Application แต่อยู่ที่ Query ที่ส่งไปยังฐานข้อมูลทำงานไม่มีประสิทธิภาพ การปรับแต่ง Query ให้เร็วขึ้นจึงเป็นทักษะสำคัญที่นักพัฒนาและ DBA ควรมี เพราะสามารถลดเวลาตอบสนองจากหลายวินาทีเหลือไม่กี่มิลลิวินาทีได้โดยไม่ต้องเพิ่ม Hardware บทความนี้

MySQL Replication Setup — ตั้งค่า Source-Replica แบบละเอียด

MySQL Replication Setup — ตั้งค่า Source-Replica แบบละเอียด

เมื่อเว็บไซต์หรือแอปพลิเคชันเติบโตขึ้น เซิร์ฟเวอร์ฐานข้อมูลตัวเดียวอาจรับ Load ไม่ไหว การอ่านข้อมูลจำนวนมากจาก Application หลายตัวพร้อมกันทำให้ Response Time ช้าลง นอกจากนี้ถ้าเซิร์ฟเวอร์ตัวเดียวล่ม ระบบทั้งหมดก็หยุดทำงาน Replication เป็นกลไกที่คัดลอกข้อมูลจากเซิร์ฟเวอร์ต้นทาง (Source) ไปยังเซิร์ฟเว

Backup Database ด้วย mysqldump — สำรองข้อมูลอย่างมืออาชีพ

Backup Database ด้วย mysqldump — สำรองข้อมูลอย่างมืออาชีพ

การสำรองข้อมูลฐานข้อมูลเป็นหนึ่งในงานสำคัญที่สุดของผู้ดูแลระบบ เพราะข้อมูลอาจสูญหายได้จากหลายสาเหตุ ทั้งฮาร์ดแวร์เสียหาย ซอฟต์แวร์ผิดพลาด หรือแม้แต่ Human Error ที่ลบข้อมูลโดยไม่ตั้งใจ การมีระบบ Backup ที่เชื่อถือได้จึงเป็นเหมือนประกันภัยของข้อมูล บทความนี้จะอธิบายการใช้ mysqldump ซึ่งเป็นเครื่องมือ

Data Types ใน MySQL — เลือกใช้ให้ถูกต้อง

Data Types ใน MySQL — เลือกใช้ให้ถูกต้อง

การเลือก Data Type ที่เหมาะสมเป็นหนึ่งในการตัดสินใจสำคัญที่สุดเมื่อออกแบบฐานข้อมูล เพราะส่งผลโดยตรงต่อพื้นที่จัดเก็บ ประสิทธิภาพในการ Query และความถูกต้องของข้อมูล การเลือกผิดอาจทำให้สิ้นเปลืองเนื้อที่ ประมวลผลช้า หรือเกิดข้อมูลผิดพลาดที่แก้ไขได้ยากในภายหลัง บทความนี้จะอธิบาย Data Type ทุกกลุ่มที่มี

LINE CHAT