ป้องกัน Postgresql ไม่ให้ทำงานเมื่อเริ่มต้น


26

ในบางจุดในอดีตฉันติดตั้ง posgresql และฉันไม่สามารถกำจัดมันได้:

$ ps -A|egrep postg   232 ??        
287 ??         0:00.02 postgres: logger process                                                                                                                                                                                                                       
328 ??         0:00.09 postgres: writer process                                                                                                                                                                                                                       
335 ??         0:00.06 postgres: wal writer process                                                                                                                                                                                                                   
336 ??         0:00.03 postgres: autovacuum launcher process                                                                                                                                                                                                          
342 ??         0:00.01 postgres: stats collector process 

ฉันต้องการที่จะหยุดมันจากการเริ่มต้นขึ้นทุกครั้งที่ฉันบูตเนื่องจากfs_usageแสดงให้เห็นว่ามันทำให้ดิสก์ของฉันไม่ว่าง

ฉันได้ลองเพิ่มPOSTGRES=-NO-เข้าไป/etc/hostconfigแล้ว แต่กระบวนการยังคงมีอยู่

นอกจากนี้ฉันได้ลองสิ่งที่ฉันพบในโพสต์อื่นโดยไม่มีโชค:

$: locate postg|egrep plist
/Library/LaunchDaemons/com.edb.launchd.postgresql-8.4.plist
/Library/PostgreSQL/8.3/uninstall-postgresql.app/Contents/Info.plist
/Library/PostgreSQL/8.4/uninstall-postgresql.app/Contents/Info.plist
/Library/StartupItems/postgresql-8.3/StartupParameters.plist

$: sudo launchctl unload /Library/LaunchDaemons/com.edb.launchd.postgresql-8.4.plist

(restart)

แต่กระบวนการ postgresql ยังคงปรากฏ :(

คำตอบ:


26

โปรดทราบว่าด้วย PostgreSQL 9.0 (และอาจใหม่กว่า) บน Mac OS 10.6.8 (และอาจเก่ากว่า) เพื่อป้องกันเซิร์ฟเวอร์ PostgreSQL ไม่ให้เริ่มต้นโดยอัตโนมัติคุณต้อง:

  1. ไปที่ /Library/LaunchDaemons/
  2. เปิดcom.edb.launchd.postgresql-9.0.plistในการแก้ไขเป็นroot(แทนที่9.0ด้วยหมายเลขรุ่นที่ถูกต้องของคุณ) sudo vim com.edb.launchd.postgresql-9.0.plistเช่น
  3. ค้นหาบรรทัด <key>RunAtLoad</key>
  4. เปลี่ยนบรรทัดถัดไปจาก<true/>เป็น<false/>
  5. บันทึกและออก.

ที่ควรทำ นอกจากนี้ถ้าคุณต้องการที่จะหยุดเซิร์ฟเวอร์ทันทีโดยไม่ต้องเริ่มต้นใหม่suไปและเรียกใช้postgres /Library/PostgreSQL/9.0/bin/pg_ctl stop -D<your data dir>คุณสามารถค้นหาข้อมูลปัจจุบันของคุณps aux|grep postgreได้

ที่มา: http://forums.enterprisedb.com/posts/list/2240.page#8321


com.edb.launchd.postgresql-9.0.plistไม่พบที่ตั้งนี้สำหรับฉัน
AlecRust

@AlecRust คุณค้นหามันได้หรือไม่ ลองls -al /Library/LaunchDaemons/*postgre*ดูว่า PostgreSQL รุ่นอื่นนั้นไม่ใช่เวอร์ชันที่คุณใช้หรือไม่
Dimitar

3
ฉันได้ดูภายใน/Library/LaunchDaemonsแล้วไม่ได้พูดถึง postgres (หมายเหตุ: ติดตั้งผ่าน Homebrew) การใช้การกำหนดค่าตามความชอบของ PostgreSQL Macในตอนท้ายเพื่อจัดการสิ่งนี้
AlecRust


1

พบสิ่งนี้:

ใน Mac OSX: (สมมติว่าตำแหน่งเริ่มต้น)

ผ่านโปรแกรมถอนการติดตั้ง:

1) ในไดเรกทอรีการติดตั้งจะมีไฟล์ uninstall-postgresql.app อยู่ที่นั่นดำเนินการ (ดับเบิลคลิก) ที่จะถอนการติดตั้งการติดตั้ง postgresql

ถอนการติดตั้งด้วยตนเอง:

1) หยุดเซิร์ฟเวอร์

sudo / sbin / SystemStarter stop postgresql-8.3

2) ลบทางลัดเมนู:

sudo rm -rf / Applications / PostgreSQL 8.3

3) ลบไฟล์ ini

sudo rm -rf /etc/postgres-reg.ini

4) การลบรายการเริ่มต้น

sudo rm -rf /Library/StartupItems/postgresql-8.3

5) ลบข้อมูลและไฟล์ที่ติดตั้ง

sudo rm -rf /Library/PostgreSQL/8.3

6) ลบผู้ใช้ postgres

sudo dscl ลบ / users / postgres


0

ค้นหาชื่อไฟล์ที่แพ็กเกจด้านล่าง

    com.edb.launchd.postgresql-9.0.plist 

จะพบได้ที่ cd /Library/LaunchDaemons/ ลบหากคุณไม่ต้องการจากมุมมองคำถามทำการเปลี่ยนแปลงจริงเป็นเท็จที่ RunAtLoad

มันใช้งานได้เหมือนเสน่ห์สำหรับฉัน


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