오류 발생 : heroku에 배포 할 때 하나 이상의 postgresql-client- <version> 패키지를 설치해야합니다.


91
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 : migrate를 마이그레이션하면 pg 클라이언트를 설치해야하는 오류가 발생합니다. pg 클라이언트를 어디에 설치해야합니까? 어떤 도움


1
나는 [this] [1] 해결책을
찾았고

답변:


202

데비안 기반 시스템에서 PostreSQL 클라이언트 프로그램은에 의해 제공되는 PostgreSQL의 클라이언트 - 일반 심볼릭 링크로 /usr/share/postgresql-common/pg_wrapper.

당신이 패키지를 설치하고 같은 PostgreSQL의 클라이언트 프로그램의 사용하려고하면 psql의 , pg_dump의 , pg_dumpall의pg_restore에pg_wrapper을 같이 바이너리 패키지가 설치 버전 특정하지 않고 PostgreSQL의 클라이언트 - 9.1 는이 오류를 방출합니다 :

하나 이상의 postgresql-client- <version> 패키지를 설치해야합니다.

이를 수정하는 가장 쉬운 방법은 postgresql-client 메타 패키지 를 설치하는 것입니다. 항상 Debian 기반 시스템에서 PostgreSQL에 대해 현재 지원되는 데이터베이스 클라이언트 패키지에 따라 다르며 postgresql-client-common에 따라 다릅니다.

sudo apt-get install postgresql-client

응답 해 주셔서 감사합니다, jla! 그것은 버그 heroku와 나는 해결하기 위해 stackoverflow.com/questions/17300341/… 을 찾았습니다
dilshod

천만에요. heroku를 사용하지 않고 명령 줄에서 psql을 사용하여 "적어도 하나"오류 메시지를 검색 할 때 이것을 발견했습니다. 대답을 찾은 후에는 Debian 특정 오류에 대해 작동하는 pg_dump 및 psql을 오류 무시 제안 heroku 수정의 대안으로 제공하는 Debian 특정 수정을 남기고 싶었습니다.
jla

1
sudo apt-get install postgresql-client통해 실행 heroku run bash이 작동하지 않습니까? 반환합니다 bash: sudo: command not found. 내가 여기서 무엇을 놓치고 있습니까?
s2t2

8

2020 년 3 월 30 일 업데이트

선택한 답변에 동의하지만 Ubuntu 18에 postgresql-client-12 를 설치 하는 것이 약간 더 관련되어 있음을 알았습니다 .

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

자세한 내용은 이 참조 를 참조하십시오.


1
Ubuntu 20.04에서는 지침의 마지막 줄이 트릭을 수행했습니다.
Holger Brandl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.