ขั้นตอนที่ 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
- `-D` ระบุที่อยู่ของ Data Directory สำหรับ Instance นี้
- คำสั่งนี้จะสร้างไฟล์ระบบฐานข้อมูลในโฟลเดอร์ที่กำหนด
ขั้นตอนที่ 2: ตั้งค่าพอร์ตในไฟล์ postgresql.conf
PostgreSQL แต่ละ Instance ต้องใช้พอร์ตที่ไม่ซ้ำกัน โดยเริ่มต้น PostgreSQL ใช้พอร์ต 5432 เราสามารถเปลี่ยนพอร์ตของ Instance ใหม่ได้โดยแก้ไขไฟล์ `postgresql.conf` ใน Data Directory ที่สร้างขึ้น
เปิดไฟล์ `C:\PostgreSQL\data_instance_2\postgresql.conf` และแก้ไขบรรทัด: ให้แน่ใจว่าพอร์ตที่เลือกไม่มีโปรแกรมอื่นใช้งานอยู่
ขั้นตอนที่ 3: รัน Instance ใหม่
เมื่อกำหนดพอร์ตเสร็จแล้ว เราสามารถเริ่มต้น Instance ใหม่ได้ด้วยคำสั่งต่อไปนี้:
โค้ด: เลือกทั้งหมด
& "C:\Program Files\PostgreSQL\13\bin\pg_ctl" -D "C:\PostgreSQL\data_instance_2" -l "C:\PostgreSQL\postgresql.log" start
- `-D` ระบุที่อยู่ของ Data Directory
- `-l` ระบุที่อยู่ของไฟล์ log ที่จะบันทึกการทำงานของ PostgreSQL
ข้อแนะนำเพิ่มเติม:
- ตรวจสอบสถานะของ 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