วิธีทำให้ Postgres เริ่มต้นโดยอัตโนมัติเมื่อบูต


21

ฉันใหม่สำหรับ Ubuntu และฉันต้องการทราบวิธีทำให้ postgresql เริ่มต้นโดยอัตโนมัติเมื่อบูตและวิธีกำหนดค่าการตั้งค่าของฉันเพื่อที่ฉันจะสามารถเริ่มเซิร์ฟเวอร์ postgres ได้ถ้าจำเป็น

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

sudo apt-get -y update
sudo apt-get purge postgresql* # ending * is important
sudo apt-get install postgresql libpq-dev

จากโพสต์นี้

/programming/17934055/postgresql-cannot-connect-to-server-locally

การกระโดดข้าม

sudo add-apt-repository ppa:pitti/postgresql

ตามที่ปรากฏมันล้าสมัยและมีความคิดเห็นด้านล่างเกี่ยวกับการไม่ต้องการมัน

หากช่วยให้ไฟล์ pg_hba.conf ของฉันดูเหมือนว่าอยู่ที่

/etc/postgresql/9.1/main

ฉันกำลังใช้งาน Ubuntu 12.04 ที่ด้านบนของ chrome os

ขอบคุณสำหรับความช่วยเหลือและขออภัยสำหรับคำถามใหม่!


ทำไมคุณถึงใช้ PPI ของบางคน ใช้apt.postgresql.orgหากคุณต้องการ PostgreSQL ปัจจุบันบนแพลตฟอร์มรุ่นเก่า
Craig Ringer

เครกขอบคุณสำหรับคำตอบ เพียงชี้แจงให้ชัดเจนถึงสิ่งที่คำสั่งจะดึงออกมาจาก apt.postgresql.org
cwmacken

@cwmacken มีคำแนะนำในหน้าเชื่อมโยง (รวมถึงคำสั่ง)
muru

@ Craig haha ​​ขอโทษที่พลาดไปนั่นคือลิงค์ ขอบคุณสำหรับความช่วยเหลือ! ไชโย
cwmacken

คำตอบ:


34

หากคุณต้องการเริ่ม postgres เมื่อเริ่มต้นเพื่อที่คุณจะไม่ต้องเริ่มต้นใหม่อยู่ตลอดเวลาเพียงทำ:

sudo update-rc.d postgresql enable

สิ่งนี้จะเริ่ม postgres ของคุณเมื่อเริ่มต้นการบูต หวังว่าจะช่วยใครบางคน


ฉันได้รับข้อผิดพลาด: update-rc.d: error: cannot find a LSB script for postgrsqlแต่ฉันติดตั้ง postgresql จาก repo อื่น ๆ ( 1c.postgrespro.ru/deb ) เพราะมันมีแพตช์พิเศษที่ฉันต้องการ
Alexander Kuzin

ขอขอบคุณ! ปัญหาของฉันได้รับ: systemctl disable postgresql.serviceฉันปิดการใช้บริการกับ systemctlแต่ผมก็ไม่สามารถที่จะเปิดใช้งานได้ด้วย คำตอบของคุณคือทางออก ระบบของฉัน: Debian 8.8 x64 พร้อม PostgreSQL 9.4
mfreiholz

18

ตั้งแต่ Ubuntu 15.04 เป็นต้นไปให้ทำ:

sudo systemctl enable [SERVICE]

ซึ่งในกรณีของคุณคือ:

sudo systemctl enable postgresql

มันทำงานอย่างไร; หลังจากเริ่มอูบุนตูแล้วป๊อปอัพขอรหัสผ่านของผู้ดูแลระบบต่อไปเพื่อกำจัดมัน?
tolgayilmaz

ขออภัยฉันใช้อูบุนตูที่ไม่มีหัวในระบบเซิร์ฟเวอร์เท่านั้นดังนั้นฉันจึงไม่เคยพบปัญหานี้ :-( บางทีมีคนอื่นประสบปัญหาเดียวกันและสามารถช่วยได้
Kim

3

ดังนั้นฉันจึงหาวิธีการบูต postgresql ดังนั้นฉันไม่จำเป็นต้องทำการย้าย newb ใหม่

sudo service postgresql start

จากนั้นคุณจะต้องเปลี่ยนไปใช้ผู้ใช้ postgres เพื่อทำการเปลี่ยนแปลงใด ๆ ภายใน Postgresql

sudo -u postgres -i

ฉันแน่ใจว่ามีคำตอบที่ดีกว่าคำถามนี้มากกว่าของฉัน แต่สิ่งนี้อาจช่วยคนในตำแหน่งของฉันในอนาคต

ฉันยังคงต้องเริ่มต้น Postgresql ในการบูต ใครได้คำตอบสำหรับสิ่งนั้น? ฉันดีใจที่ทำเครื่องหมายว่าถูกต้อง

ไชโย


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