ฉันใช้ PostgreSQL 9.2 และทำงานโดยอัตโนมัติเมื่อฉันเริ่มระบบ (Kubuntu)
ฉันจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร
ฉันต้องเริ่มด้วยตนเองและฉันไม่ต้องการให้เริ่มต้นแบบอัตโนมัติเพราะต้องดูที่คอนโซล
ฉันใช้ PostgreSQL 9.2 และทำงานโดยอัตโนมัติเมื่อฉันเริ่มระบบ (Kubuntu)
ฉันจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร
ฉันต้องเริ่มด้วยตนเองและฉันไม่ต้องการให้เริ่มต้นแบบอัตโนมัติเพราะต้องดูที่คอนโซล
คำตอบ:
Ubuntu หรือ Debian สามารถเรียกใช้ PostgreSQL หลายอินสแตนซ์และให้วิธีการเริ่ม / หยุด / เริ่มต้นแต่ละคลัสเตอร์โดยอัตโนมัติ
ควรมีไฟล์ชื่อstart.conf
ข้างใน/etc/postgresql/9.2/main
(หรือมากกว่า / etc / postgresql / < version > / < clustername >) พร้อมเนื้อหาอธิบายตนเองเหล่านี้:
# การกำหนดค่าเริ่มต้นโดยอัตโนมัติ # auto: เริ่ม / หยุดคลัสเตอร์โดยอัตโนมัติในสคริปต์เริ่มต้น # manual: อย่าเริ่ม / หยุดในสคริปต์ init แต่อนุญาตการเริ่มต้นด้วยตนเอง # pg_ctlcluster # disabled: ไม่อนุญาตการเริ่มต้นด้วยตนเองด้วย pg_ctlcluster (สามารถทำได้ง่าย ๆ # circumvented และมีไว้เพื่อป้องกันเพียงเล็กน้อยเท่านั้น # อุบัติเหตุ) รถยนต์
หากคุณแทนที่autoด้วยตนเองคุณสามารถเริ่มต้นอินสแตนซ์ PostgreSQL เฉพาะเมื่อต้องการด้วยคำสั่ง:
sudo pg_ctlcluster 9.2 main start
สำหรับการดูที่คอนโซลสิ่งที่คุณควรต้องการแทนคือให้รันในเทอร์มินัลเมื่อคุณทำงานกับฐานข้อมูล:
tail -f /var/log/postgresql/postgresql-9.2-main.log
คำสั่ง/usr/sbin/update-rc.d
ถูกใช้เพื่อเริ่มหยุดเปิดใช้งานหรือปิดใช้งานบริการ (เช่นลบลิงก์สคริปต์ init สไตล์ System-V จาก /etc/init.d/)
พิมพ์man update-rc.d
เพื่อทำความคุ้นเคยกับคำสั่งและพารามิเตอร์
นี่คือตัวอย่างจากหน้าคู่มือupdate-rc.d ubuntu 16.10 (yakkety) :
update-rc.d -f foobar remove
update-rc.d foobar stop 20 2 3 4 5
จากนั้นพิมพ์บางอย่างตามบรรทัดของsudo update-rc.d [service] disable
บริการใด ๆ ที่ระบุไว้ในไดเรกทอรี /etc/init.d/ ของคุณ ที่จะป้องกัน [บริการ] จากการเริ่มต้นในการบูต หากคุณต้องการปิดบริการทันทีลองsudo service [service] stop
คุณอาจไม่จำเป็นต้องเรียกใช้ PostgreSQL ด้วยตนเองเพื่อดูผลลัพธ์ของคอนโซล คุณเพียงแค่ต้องบันทึกผลลัพธ์นั้นและปรับแต่งไฟล์บันทึก