การตั้งค่า PostgreSQL หลาย Instance ในเครื่องเดียว พร้อมใช้งานหลายพอร์ต

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: การตั้งค่า PostgreSQL หลาย Instance ในเครื่องเดียว พร้อมใช้งานหลายพอร์ต

การตั้งค่า PostgreSQL หลาย Instance ในเครื่องเดียว พร้อมใช้งานหลายพอร์ต

โดย guitar66 » 09/12/2024 5:31 pm

PostgreSQL ได้รับความนิยมจากนักพัฒนาและผู้ดูแลระบบฐานข้อมูลทั่วโลก ด้วยความสามารถในการรองรับการทำงานที่ซับซ้อนและการปรับแต่งที่ยืดหยุ่น หนึ่งในคุณสมบัติที่น่าสนใจคือการ สร้างหลาย Instance ในเครื่องเดียว ซึ่งเหมาะสำหรับการพัฒนา การทดสอบ หรือการจัดการแอปพลิเคชันหลายตัวในสภาพแวดล้อมเดียวกันในบทความนี้ คุณจะได้เรียนรู้ วิธีตั้งค่า PostgreSQL หลาย Instance บนเครื่องเดียว พร้อมใช้งานหลายพอร์ต โดยจะครอบคลุมขั้นตอนที่ง่ายต่อการทำตามและสามารถนำไปปรับใช้ได้ทันที!

ขั้นตอนที่ 1: สร้าง Data Directory สำหรับ Instance ใหม่
ก่อนเริ่มต้น เราจำเป็นต้องสร้าง Data Directory สำหรับเก็บข้อมูลของ Instance ใหม่ ซึ่งสามารถทำได้โดยใช้คำสั่ง `pg_ctl` พร้อมคำสั่ง `initdb`

โค้ด: เลือกทั้งหมด

& "C:\Program Files\PostgreSQL\13\bin\pg_ctl" -D "C:\PostgreSQL\data_instance_2" initdb
ผลลัพธ์:
PostgreSQL Instance ใหม่พร้อมใช้งาน.png
PostgreSQL Instance ใหม่พร้อมใช้งาน.png (20.98 KiB) Viewed 2102 times
คำอธิบาย:
  • `-D` ระบุที่อยู่ของ Data Directory สำหรับ Instance นี้
  • คำสั่งนี้จะสร้างไฟล์ระบบฐานข้อมูลในโฟลเดอร์ที่กำหนด
หลังจากรันคำสั่งเสร็จแล้ว คุณจะมี Data Directory ใหม่ที่พร้อมใช้งาน
แก้ไข port ใน postgresql.conf.png
แก้ไข port ใน postgresql.conf.png (46.37 KiB) Viewed 2102 times

ขั้นตอนที่ 2: ตั้งค่าพอร์ตในไฟล์ postgresql.conf
PostgreSQL แต่ละ Instance ต้องใช้พอร์ตที่ไม่ซ้ำกัน โดยเริ่มต้น PostgreSQL ใช้พอร์ต 5432 เราสามารถเปลี่ยนพอร์ตของ Instance ใหม่ได้โดยแก้ไขไฟล์ `postgresql.conf` ใน Data Directory ที่สร้างขึ้น

เปิดไฟล์ `C:\PostgreSQL\data_instance_2\postgresql.conf` และแก้ไขบรรทัด:
Data Directory.png
Data Directory.png (21.11 KiB) Viewed 2102 times
ให้แน่ใจว่าพอร์ตที่เลือกไม่มีโปรแกรมอื่นใช้งานอยู่

ขั้นตอนที่ 3: รัน Instance ใหม่
เมื่อกำหนดพอร์ตเสร็จแล้ว เราสามารถเริ่มต้น Instance ใหม่ได้ด้วยคำสั่งต่อไปนี้:

โค้ด: เลือกทั้งหมด

& "C:\Program Files\PostgreSQL\13\bin\pg_ctl" -D "C:\PostgreSQL\data_instance_2" -l "C:\PostgreSQL\postgresql.log" start
ผลลัพธ์:
ผลลัพธ์หลัง start instance ใหม่.png
ผลลัพธ์หลัง start instance ใหม่.png (11.7 KiB) Viewed 2102 times
คำอธิบาย:
  • `-D` ระบุที่อยู่ของ Data Directory
  • `-l` ระบุที่อยู่ของไฟล์ log ที่จะบันทึกการทำงานของ PostgreSQL
หลังจากรันคำสั่ง คุณจะมี PostgreSQL Instance ใหม่พร้อมใช้งาน
ผลลัพธ์หลังรัน initdb.png
ผลลัพธ์หลังรัน initdb.png (64.06 KiB) Viewed 2102 times

ข้อแนะนำเพิ่มเติม:
  • ตรวจสอบสถานะของ Instance ด้วยคำสั่ง `pg_ctl status`
  • หมั่นตรวจสอบไฟล์ log หากเกิดปัญหา

ด้วย 3 ขั้นตอนนี้ คุณสามารถตั้งค่า PostgreSQL หลาย Instance ในเครื่องเดียวได้อย่างง่ายดาย โดยกำหนดพอร์ตแยกกันสำหรับแต่ละ Instance เพื่อรองรับการพัฒนาและทดสอบในสภาพแวดล้อมที่หลากหลาย หากเพื่อน ๆ สนใจอยากอ่านเพิ่มเติมสามารถอ่านได้ที่บทเรียน PgAdmin หรือขั้นตอน วิธีการรันคำสั่ง SQL บนฐานข้อมูล PostgreSQL หวังว่าบทความนี้จะช่วยให้คุณจัดการ PostgreSQL ได้อย่างยืดหยุ่นและมีประสิทธิภาพ!

อ้างอิง
https://www.mindphp.com/บทเรียนออนไลน์/สอน-pgadmin/2533-การเชื่อมต่อฐานข้อมูล-connect-to-database.html
https://www.postgresql.org/docs/current/managing-databases.html
https://documentation.commvault.com/2024/essential/adding_postgresql_instance.html

ข้างบน