กำหนด Configuration PostgreSQL

สำหรับฐานข้อมูล PostgreSQL เมื่อติดตั้งแล้วระบบจะกำหนดค่า Configuration ตามมาตรฐานซึ่งจะกำหนดไม่เพียงพอต่อการใช้งาน เราจำเป็นต้องกำหนดให้ถูกต้องตามสภาพแวดล้อมของเครื่อง โดยหลักๆ แล้วจะกำหนดที่ shared_buffers ซึ่งจะกำหนดประมาณ 25% ของ ram ที่เหลืออยู่ โดยค่าต่างๆ ที่กำหนด เช่น


# DB Version: 9.6
# OS Type: linux
# DB Type: web
# Total Memory (RAM): 32 GB
# CPUs num: 2
# Data Storage: hdd
max_connections = 200
shared_buffers = 8GB
effective_cache_size = 24GB
maintenance_work_mem = 2GB
checkpoint_completion_target = 0.7
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 4
effective_io_concurrency = 2
work_mem = 41943kB
min_wal_size = 1GB
max_wal_size = 2GB
max_worker_processes = 2
max_parallel_workers_per_gather = 1


โดยรายละเอียดนี้จะแก้ไขในไฟล์ postgresql.conf ซึ่งในส่วนของวินโดว์ส่วนของ shared_buffer จะมีค่าสูงสุดแค่ 512 MB เท่านั้น ในตัวอย่างข้างต้นเป็น CentOS จะสามารถกำหนดได้ตามจำนวนเปอร์เซ็นต์ของ ram ซึ่งถ้าค่าอื่นๆ ก็จะแปรผันไปตามค่าของสภาพแวดล้อมของเครื่องนั้นๆ โดยถ้าใครสนใจสามารถนำค่าต่างๆ ไปกำหนดในเว็บ  https://pgtune.leopard.in.ua/ เพื่อนำค่าต่างๆ มากำหนด configuration ของเครื่องที่เราใช้งานกันได้

ขอให้มีความสุขกับการทำงาน ....

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

PostgreSQL Partitioning

กรณีที่ไม่สามารถ start service ของ PostgreSQL ได้ (ใน windows)

การจัดการ Log ของ Apache Web Server