บทความ

กำลังแสดงโพสต์จาก 2020

กำหนด 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 ซึ่งถ้า...

การสั่งให้ระบบ CentOS สำรองฐานข้อมูล PostgreSQL อัตโนมัติ

ให้สร้างไฟล์โดยใช้คำสั่ง vi หรือสร้างไฟล์จากเครื่องวินโดว์โดยเนื้อหาคำสั่งในการกำหนดการทำงานให้กำหนดดังนี้ rootbk=ตำแหน่งสำรองข้อมูล dbname=ชื่อฐานข้อมูล  folderbk=`date +%F` filename=$dbname-`date +%F-%H%M%S`.backup [ ! -d "$rootbk$folderbk" ] && mkdir -p "$rootbk$folderbk" export PGPASSWORD=รหัสผ่านของฐานข้อมูล pg_dump -U postgres -h ไอพีเครื่องฐานข้อมูล -Fc -Z 9 -b -v $dbname -f $rootbk$folderbk/$filename เมื่อได้ไฟล์ตามรายละเอียดดังนี้แล้ว การกำหนดใน centos จะต้องใช้ crontab ในการสั่งให้ระบบทำงานอัตโนมัติ #crontab -e ระบบจะเปิดให้ระบบรายละเอียดในการสั่งการทำงานให้ระบุดังนี้ 59 23 * * * ตำแหน่งไฟล์และชื่อไฟล์ที่สร้างไว้ โดยค่าต่างๆ มีความหมายดังนี้ 59 นาที 23 ชั่วโมง * วันที่ในเดือน (1-31) * เดือน (1-12) * วันในสัปดาห์ (0-7) ถ้าระบุเป็น * แสดงว่าดำเนินการทุกช่วงเวลา เมื่อถึงเวลาในการกำหนดไว้ระบบจะไปเรียกตามคำสั่งตามไฟล์ที่กำหนดไว้ ซึ่งสามารถนำไปประยุกต์ในเรื่องอื่นๆ ได้