Ottieni errore: devi installare almeno un pacchetto postgresql-client- <version> quando distribuisci su 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 funziona bene, ma quando eseguo la migrazione rake db: migrate viene visualizzato un errore che richiede l'installazione del client pg. Dove devo installare il client pg? Qualsiasi aiuto


1
Ho trovato [questo] [1] della soluzione e correzione di errore [1]: stackoverflow.com/questions/17300341/...
Dilshod

Risposte:


207

Su un sistema basato su Debian i programmi client PostreSQL sono forniti da postgresql-client-common come collegamenti simbolici a /usr/share/postgresql-common/pg_wrapper.

Se installi quel pacchetto e tenti di utilizzare uno qualsiasi dei programmi client PostgreSQL come psql , pg_dump , pg_dumpall e pg_restore , il pg_wrapper senza avere installato il pacchetto binario specifico della versione, come postgresql-client-9.1 , genererà questo errore:

Devi installare almeno un pacchetto postgresql-client- <versione>

Il modo più semplice per risolvere questo problema è installare il metapacchetto postgresql-client . Dipende sempre dal pacchetto client database attualmente supportato per PostgreSQL su sistemi basati su Debian e dipende da postgresql-client-common

sudo apt-get install postgresql-client

Grazie per la risposta, jla! Sembra bug Heroku e ho trovato stackoverflow.com/questions/17300341/... per risolvere
Dilshod

Prego. Ho trovato questo durante la ricerca del messaggio di errore "almeno uno" derivante dall'utilizzo di psql sulla riga di comando e dal mancato utilizzo di heroku. Dopo aver trovato la risposta, volevo lasciare una correzione specifica per Debian che fornisse un pg_dump e psql funzionanti per l'errore specifico di Debian come alternativa alla correzione heroku suggerita per ignorare l'errore.
jla

1
correre sudo apt-get install postgresql-clientvia heroku run bashnon funziona? Ritorna bash: sudo: command not found. Cosa mi manca qui?
S2T2

11

Aggiornamento 30 marzo 2020

D'accordo con la risposta scelta, ma ho scoperto di installare postgresql-client-12 su Ubuntu 18 leggermente più coinvolto.

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

Vedere questo riferimento per i dettagli.


2
Con Ubuntu 20.04 solo l'ultima riga delle istruzioni ha funzionato.
Holger Brandl
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.