วิธีการเรียกใช้ psql บน Mac OS X


54

ฉันติดตั้ง PostgreSQL บนคอมพิวเตอร์ที่มี Mac OS X โดยใช้ตัวติดตั้งแบบคลิกเดียว จากนั้นฉันพยายามเข้าถึง PostgreSQL โดยใช้psqlคำสั่ง แต่ดูเหมือนจะไม่พร้อมใช้งาน

ฉันได้รับข้อความนี้:

psql
-bash: psql: command not found

ฉันต้องติดตั้งอะไรเพิ่มเติมหรือไม่ หรือฉันจะกำหนดค่า PostgreSQL เพื่อให้สามารถใช้กับคอมพิวเตอร์ได้อย่างไร

คำตอบ:


41

ค้นหาไบนารี psql (ในเทอร์มินัลให้รันlocate psql | grep /binและจดบันทึกพา ธ (ในกรณีของฉันมัน/opt/local/lib/postgresql90/bin/เป็นเพราะมันถูกติดตั้งโดยใช้ MacPorts)

จากนั้นแก้ไข.bash_profileไฟล์ในโฟลเดอร์บ้านของคุณ (เช่นmate -w ~/.bash_profileสมมติว่าคุณเป็น textmate) และเพิ่มบรรทัดที่ต้องการเพื่อให้มันอยู่ในเส้นทางของคุณเช่น:

export PATH=/opt/local/lib/postgresql90/bin/:$PATH

หลังจากที่มีการบันทึกไฟล์ไว้อ่านไฟล์ ( . ~/.bash_profile) psqlหรือเปิดอาคารผู้โดยสารแห่งใหม่และชนิด


18
ขอบคุณเส้นทางของฉันไปยัง psql คือ/Library/PostgreSQL/9.0/bin/psqlและฉันสร้าง.bash_profileไฟล์ตามที่คุณแนะนำและใช้งานได้ดี
Jonas

1
@Jonas: +1 ความคิดเห็นของคุณควรเป็นคำตอบที่แยกต่างหากและควรเป็นคำตอบที่ยอมรับได้เพราะนี่เป็นตำแหน่งเริ่มต้นเมื่อติดตั้ง Postgres บน Mac!
Stefan Haberl

คำสั่งค้นหาไม่ทำงานในขั้นต้นสำหรับฉันฉันต้องเรียกใช้ก่อนsudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plistแล้วรอให้findกระบวนการเสร็จสิ้น
magritte

ยังต้องสร้างไฟล์. bash_profile, mac noob ที่นี่! ;-) ทำงานตอนนี้ขอบคุณ!
magritte

3
ดีกว่าexport PATH=/Applications/Postgres.app/Contents/Versions/latest/bin/:$PATH
andilabs

11

ฉันขอแนะนำอย่างยิ่งให้ใช้Postgres.appจากทีม Heroku ซึ่งพวกเขายังสนับสนุน!

มันมีไอคอนแถบเมนูและเมนูมีpsqlรายการ:

Postgres.app เมนูไอคอนแถบเมนู

นอกจากนี้คุณยังจะพบpsqlที่นี่หากคุณต้องการรุ่นเดียวกันกับเซิร์ฟเวอร์ (เส้นทางอาจแตกต่างกันไปตามรุ่น):

/Applications/Postgres.app/Contents/MacOS/bin

หากคุณต้องการคุณสามารถเพิ่มเส้นทางนี้ไปยังสคริปต์เริ่มต้นของคุณเพื่อดำเนินการpsqlโดยตรง:

PATH=/Applications/Postgres.app/Contents/MacOS/bin:$PATH

ข้อแม้! AFAIK Postgres.appไม่รองรับการเชื่อมต่อผ่านซ็อกเก็ต Unix (ฉันไม่แน่ใจว่านี่คืออะไร ... ) และรองรับการเชื่อมต่อ TCP / IP เท่านั้น ดังนั้นอย่าตกใจถ้าคุณล้มเหลวในการเชื่อมต่อจากโปรแกรมอื่น


4
เอกสารล่าสุดpostgresapp.com/documentation/cli-tools.htmlแสดงรายการเส้นทางเป็น/Applications/Postgres.app/Contents/Versions/latest/bin
Bryan Ash

อันที่จริงความคิดเห็นจะออกมาเป็นคำตอบที่ดี :)
mythicalcoder

ดีกว่าexport PATH=/Applications/Postgres.app/Contents/Versions/latest/bin/:$PATH
andilabs

ฉันดู แต่ไม่พบความสัมพันธ์ระหว่างHeroku teamและแอพ คุณสามารถแบ่งปันได้อย่างไรพวกเขาเชื่อมต่อ?
Roee Gavirel

11

ปรากฏ "the way" เพื่อติดตั้งไคลเอนต์หากคุณต้องการใช้ hombrew คือ:

$ brew ติดตั้ง postgresql

ตอนนี้psql(บรรทัดคำสั่งไคลเอนต์) จะพร้อมใช้งานสำหรับคุณ (นอกจากนี้ยังติดตั้งเซิร์ฟเวอร์ / ฐานข้อมูลท้องถิ่นของ Postgres แต่คุณไม่จำเป็นต้องใช้สิ่งนั้นหากทั้งหมดที่คุณต้องการคือลูกค้า)

เห็นได้ชัดว่านอกจากนี้ยังมี 'wrapper' to psql เพื่อให้ผู้ใช้ "เป็นมิตร" มากขึ้นนอกจากนี้ยังมีให้ผ่านhomebrew ( brew install pgcli) ในกรณีที่น่าสนใจ

Pgcli is a command line interface for Postgres with auto-completion and syntax highlighting.

อีกทางเลือกหนึ่งคือการติดตั้งlibpqแพ็กเกจ homebrew แต่คุณต้องบังคับลิงค์นั้น

 brew link --force libpq  

หรือเพิ่มลงใน PATH ของคุณดูเส้นทางที่โฮมบรูบอกว่าหลังการติดตั้ง


4
เห็นได้ชัดว่าไม่มีวิธีใช้psqlโดยไม่ต้องติดตั้งเอ็นจิ้นฐานข้อมูลทั้งหมด ฉันพบว่าpgcliสะดวกมากขึ้นเมื่อเช่นคุณต้องการให้บริการทั้งหมดของคุณเชื่อมต่อ วิธีที่จะไป @rogerdpack!
Saul Martínez

4

ตามคู่มือการติดตั้งหลังจากการติดตั้งเสร็จสิ้นควรมีทางลัดสำหรับ StackBuilder, pgAdmin3 และpsqlในโฟลเดอร์ Application ของ Postgres:

คุณจะพบทางลัดเพิ่มเติมเพื่อเรียกใช้ pgAdmin, อินเตอร์เฟสบรรทัดคำสั่ง psql และการเข้าถึงเอกสาร PostgreSQL

หากมีทางลัดดังกล่าวให้ตรวจสอบตำแหน่งที่ psql ชี้ไป


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