รับข้อผิดพลาด: คุณต้องติดตั้งอย่างน้อยหนึ่งแพ็คเกจ postgresql-client- <version> เมื่อปรับใช้กับ heroku


96
sdilshod@sdilshod-Lenovo-B590:~/webapp/saturn$ heroku run rake db:migrate
Running `rake db:migrate` attached to terminal... up, run.6194
DEPRECATION WARNING: You have Rails 2.3-style plugins in    vendor/plugins! Support for these plugins will be removed in Rails 4.0.  Move them out and bundle them in your Gemfile, or fold them in to your app  as lib/myplugin/* and config/initializers/myplugin.rb. See the release  notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2- 0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
DEPRECATION WARNING: You have Rails 2.3-style plugins in  vendor/plugins! Support for these plugins will be removed in Rails 4.0.   Move them out and bundle them in your Gemfile, or fold them in to your app   as lib/myplugin/* and config/initializers/myplugin.rb. See the release   notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-  0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
 Error: You must install at least one postgresql-client-<version> package.
 rake aborted!
 Error dumping database
 /app/vendor/bundle/ruby/1.9.1/gems/activerecord-   3.2.12/lib/active_record/railties/databases.rake:415:in `block (3 levels)   in <top (required)>'
 /app/vendor/bundle/ruby/1.9.1/gems/activerecord- 3.2.12/lib/active_record/railties/databases.rake:188:in `block (2 levels) in <top (required)>'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.12/lib/active_record/railties/databases.rake:182:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:structure:dump
(See full trace by running task with --trace)

heroku pg: psql ใช้งานได้ดี แต่เมื่อฉันทำการโยกย้าย rake db: โอนย้ายได้รับข้อผิดพลาดที่ต้องติดตั้งไคลเอนต์ pg ฉันต้องติดตั้งไคลเอนต์ pg ที่ไหน? ความช่วยเหลือใด ๆ


1
ฉันพบ [this] [1] วิธีแก้ไขและแก้ไขข้อผิดพลาด [1]: stackoverflow.com/questions/17300341/…
dilshod

คำตอบ:


207

บนระบบตาม Debian โปรแกรมไคลเอนต์ PostreSQL ที่ให้บริการโดยPostgreSQL-client-ร่วมกัน/usr/share/postgresql-common/pg_wrapperกับการเชื่อมโยงสัญลักษณ์

หากคุณติดตั้งแพคเกจที่และพยายามที่จะใช้ใด ๆ ของโปรแกรมไคลเอนต์ PostgreSQL เช่นpsql , pg_dump , pg_dumpallและpg_restoreที่pg_wrapperโดยไม่ต้องเฉพาะรุ่นแพคเกจติดตั้งไบนารีเช่นPostgreSQL-client-9.1มันจะปล่อยข้อผิดพลาดนี้:

คุณต้องติดตั้งอย่างน้อยหนึ่งแพ็คเกจ postgresql-client- <version>

วิธีที่ง่ายที่สุดในการแก้ไขปัญหานี้คือการติดตั้งpostgresql-client metapackage ขึ้นอยู่กับแพคเกจไคลเอนต์ฐานข้อมูลที่รองรับในปัจจุบันสำหรับ PostgreSQL บนระบบที่ใช้ Debian และขึ้นอยู่กับ postgresql-client-common

sudo apt-get install postgresql-client

ขอบคุณสำหรับการตอบกลับ jla! ดูเหมือนว่า bug heroku และฉันพบว่าstackoverflow.com/questions/17300341/… เพื่อแก้
dilshod

ยินดีต้อนรับ ฉันพบสิ่งนี้เมื่อค้นหาข้อความแสดงข้อผิดพลาด "อย่างน้อยหนึ่งรายการ" จากการใช้ psql บนบรรทัดคำสั่งและไม่ได้ใช้ heroku หลังจากฉันพบคำตอบแล้วฉันต้องการออกจากโปรแกรมแก้ไขเฉพาะของ Debian ที่ให้ pg_dump และ psql ที่ใช้งานได้สำหรับข้อผิดพลาดเฉพาะของ Debian เป็นทางเลือกในการแก้ไข heroku ที่แนะนำในการละเว้นข้อผิดพลาด
ก.ค.

1
วิ่งsudo apt-get install postgresql-clientผ่านheroku run bashไม่ทำงาน? มันกลับbash: sudo: command not foundมา ฉันขาดอะไรไปที่นี่?
s2t2

11

อัปเดต 30 มีนาคม 2020

เห็นด้วยกับคำตอบที่เลือก แต่ฉันพบว่าการติดตั้งpostgresql-client-12บน Ubuntu 18 เกี่ยวข้องมากกว่าเล็กน้อย

sudo apt update
sudo apt -y install vim bash-completion wget
sudo apt -y upgrade
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt update
sudo apt -y install postgresql-client-12

ดูข้อมูลอ้างอิงนี้สำหรับรายละเอียด


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