IT General
PostgreSQL และ MySQL เป็น open-source database ที่ใช้กันมากที่สุดในโลก ทั้งคู่ฟรี ทั้งคู่ดี แต่เหมาะกับงานต่างกัน เลือกผิดตัวอาจต้อง migrate ทีหลัง ซึ่งเจ็บปวดมาก
# ติดตั้ง PostgreSQL (Ubuntu)
sudo apt install postgresql postgresql-contrib -y
sudo -u postgres psql
-- สร้าง database
CREATE DATABASE myapp;
CREATE USER appuser WITH PASSWORD 'secret';
GRANT ALL PRIVILEGES ON DATABASE myapp TO appuser;
-- PostgreSQL มี feature เด่นๆ:
-- JSON/JSONB support (NoSQL ในตัว!)
CREATE TABLE products (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
metadata JSONB DEFAULT '{}'
);
INSERT INTO products (name, metadata)
VALUES ('Server', '{"cpu": "Xeon", "ram": 64, "tags": ["production", "critical"]}');
-- Query JSON field
SELECT name, metadata->>'cpu' AS cpu
FROM products
WHERE metadata @> '{"tags": ["production"]}';
ดูวิดีโอเพิ่มเติมเกี่ยวกับPostgreSQL vs MySQL 2025 เลือกฐานข้อมูลต:
# ติดตั้ง MySQL (Ubuntu)
sudo apt install mysql-server -y
sudo mysql_secure_installation
sudo mysql
-- สร้าง database
CREATE DATABASE myapp;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'secret';
GRANT ALL PRIVILEGES ON myapp.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
-- MySQL เด่นเรื่อง:
-- Read performance สูง, replication ง่าย
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
metadata JSON
) ENGINE=InnoDB;
INSERT INTO products (name, metadata)
VALUES ('Server', '{"cpu": "Xeon", "ram": 64}');
-- Query JSON
SELECT name, JSON_EXTRACT(metadata, '$.cpu') AS cpu
FROM products;
| Feature | PostgreSQL | MySQL |
|---|---|---|
| ACID Compliance | ✅ เต็มรูปแบบ | ✅ (InnoDB) |
| JSON Support | ✅ JSONB (เร็วมาก) | ✅ JSON (ช้ากว่า) |
| Full-text Search | ✅ ในตัว | ✅ ในตัว |
| Replication | Streaming + Logical | Master-Slave (ง่ายกว่า) |
| Partitioning | ✅ Declarative | ✅ |
| Extensions | ✅ PostGIS, TimescaleDB | จำกัด |
| Window Functions | ✅ ครบ | ✅ (ตั้งแต่ 8.0) |
| CTE (WITH) | ✅ Recursive | ✅ (ตั้งแต่ 8.0) |
| Performance (Read) | ดี | ดีมาก |
| Performance (Write) | ดีมาก | ดี |
| Community | ใหญ่ | ใหญ่มาก |
# pgbench (PostgreSQL) vs sysbench (MySQL) # Hardware: 4 vCPU, 8GB RAM, SSD # Read Performance (SELECT): # MySQL: ~25,000 queries/sec # PostgreSQL: ~22,000 queries/sec # MySQL ชนะเล็กน้อย # Write Performance (INSERT/UPDATE): # PostgreSQL: ~18,000 queries/sec # MySQL: ~15,000 queries/sec # PostgreSQL ชนะ # Complex Query (JOIN + Aggregation): # PostgreSQL: เร็วกว่า 20-40% # MySQL: ช้ากว่าใน complex queries
ถ้าเริ่มโปรเจคใหม่ในปี 2025 แนะนำ PostgreSQL เพราะ feature ครบกว่า รองรับ workload หลากหลายกว่า และ community กำลังโตเร็วมาก
💡 แนะนำ: SiamCafe.net ชุมชน IT
💡 แนะนำ: iCafeFX ระบบเทรดอัตโนมัติ
ปานกลาง ใช้ pgloader ช่วย migrate ได้ แต่ต้องแก้ SQL syntax บางส่วน เช่น AUTO_INCREMENT → SERIAL, backtick → double quote
MariaDB fork มาจาก MySQL เกือบเหมือนกัน 100% แต่มี feature เพิ่มเติมบางอย่าง เช่น Aria engine, ColumnStore ใช้แทนกันได้
ได้ หลายบริษัทใช้ MySQL สำหรับ read-heavy services และ PostgreSQL สำหรับ analytics/complex queries