วิธีหยุด postgres จากการเริ่มอัตโนมัติในระหว่างการเริ่มระบบ


22

ฉันติดตั้ง postgresql 8.4 ไว้บนเดสก์ท็อปแล้ว มันเริ่มต้นการบูทต่อเนื่องจากฉันคิดว่าฉันใช้การตั้งค่าเริ่มต้น

ดังนั้นฉันออก/etc/init.d/postgresql stopทุกครั้งและบางครั้งฉันก็ลืม

มันมีเส้นทางโฟลเดอร์เป็น

/etc/postgresql/8.4/main
/usr/lib/postgresql/8.4

มีไฟล์กำหนดค่ามากมายและถ้ามีคนบอกฉันได้ว่าจะต้องดูที่ใดและควรเปลี่ยนแปลงอะไรดีมาก

ขอบคุณ

คำตอบ:


7

สิ่งนี้สามารถช่วยคุณได้: http://www.linuxquestions.org/questions/linux-general-1/how-to-remove-postgresql-from-startup-481963/#post2417585

แต่ติดตั้ง chkconfig ก่อน:

sudo apt-get install chkconfig

แล้วใช้มัน

chkconfig

6
update-rc.dมีถิ่นกำเนิดมากขึ้นสำหรับ Debian
ulidtko

คุณกำลังต้อนรับ :) ตรวจสอบการเชื่อมโยงdebuntu.org/how-to-manage-services-with-update-rc.d too.Thanks เพื่อ ulidtko
Pedram

35

บน Ubuntu 16.04 หรือใหม่กว่า (ซึ่งใช้ systemd) คุณจะต้องใช้คำสั่งนี้

sudo systemctl disable postgresql

หากคุณต้องการเปิดใช้งานอีกครั้งคุณจะต้องทำ

sudo systemctl enable postgresql

บน Ubuntu 15.10 ขึ้นไปคุณสามารถใช้update-rc.d:

janus@Zeus:~$ sudo update-rc.d -f postgresql remove
 Removing any system startup links for /etc/init.d/postgresql ...
   /etc/rc0.d/K21postgresql
   /etc/rc1.d/K21postgresql
   /etc/rc2.d/S19postgresql
   /etc/rc3.d/S19postgresql
   /etc/rc4.d/S19postgresql
   /etc/rc5.d/S19postgresql
   /etc/rc6.d/K21postgresql
janus@Zeus:~$

1
นี่เป็นวิธีที่เหมาะสมในการทำสิ่งที่ขอ
glarrain

7

การใช้update-rc.dดีกว่า แต่คุณสามารถทำได้ด้วยchkconfig:

sudo apt-get install chkconfig
sudo chkconfig -s  postgresql off

ใน Ubuntu 12.04 คุณต้องสร้าง symlink ไปยังinsservตำแหน่งของ:

sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

ฉันต้องสร้าง symlink โดยใช้ 10.10 เช่นกัน นอกจากนี้ฉันได้รับผลลัพธ์ขนาดใหญ่นี้เป็นการตอบสนอง: pastebin.com/fPKRj5Gr
vemv

2

คำตอบในที่นี่ล้าสมัยแล้ว ลองดูที่คำตอบที่แดเนียลVéritéของในการป้องกันไม่ให้ PostgreSQL จากการเริ่มต้นในการบูตในอูบุนตู - ฐานข้อมูลผู้ดูแลระบบ Stack แลกเปลี่ยน

Ubuntu หรือ Debian สามารถเรียกใช้ PostgreSQL หลายอินสแตนซ์และจัดเตรียมวิธีการเริ่ม / หยุด / เริ่มต้นแต่ละคลัสเตอร์โดยอัตโนมัติ

ควรมีไฟล์ชื่อstart.confข้างใน /etc/postgresql/9.2/main(หรือมากกว่า / etc / postgresql / < version > / < clustername >) พร้อมเนื้อหาอธิบายตนเองเหล่านี้:

# Automatic startup configuration
# auto: automatically start/stop the cluster in the init script
# manual: do not start/stop in init scripts, but allow manual startup with
#         pg_ctlcluster
# disabled: do not allow manual startup with pg_ctlcluster (this can be easily
#           circumvented and is only meant to be a small protection for
#           accidents).

auto 

หากคุณแทนที่autoด้วยตนเองคุณสามารถเริ่มต้นอินสแตนซ์ PostgreSQL เฉพาะเมื่อต้องการด้วยคำสั่ง:

sudo pg_ctlcluster 9.2 main start

สำหรับการดูคอนโซลสิ่งที่คุณควรต้องการแทนคือให้มีการรันในเทอร์มินัลเมื่อคุณทำงานกับฐานข้อมูล:

tail -f /var/log/postgresql/postgresql-9.2-main.log

โปรดอย่าโพสต์คำตอบแบบลิงก์อย่างเดียวสำหรับคำถาม Stack Exchange อื่น ๆ ให้รวมส่วนสำคัญของคำตอบไว้ที่นี่แทนและปรับคำตอบสำหรับคำถามเฉพาะนี้
เสียงบี๊บสองครั้ง

-1

บนเซิร์ฟเวอร์ของฉันมีผลกระทบอื่น:

# update-rc.d -f postgresql ลบ
update-rc.d: การใช้ลำดับการบูตที่อ้างอิง

ไม่มีลิงก์เริ่มต้นระบบที่ถูกลบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.