web-dev-qa-db-fra.com

Rake db: reset 'l'utilisateur n'a pas le privilège CONNECT'

J'utilise donc Heroku Postgres dans mon application Rails, mais je n'héberge pas mon application sur Heroku même. J'ai utilisé les détails de connexion Active Record de Heroku dans mon database.yml, et cela ressemble à ceci:

development:
adapter: postgresql
encoding: unicode
pool: 5
database: [database]
username: [username]
password: [password]
Host: ec2-54-227-243-78.compute-1.amazonaws.com
port: 5432

Cependant, j'essaie maintenant de rake db: migrer mon application pour que la base de données soit entièrement configurée avec mes modèles. L'exécution de cette commande ne fait rien, alors j'ai essayé rake db:reset et je reçois ceci:

Couldn't drop df2cokjfj0k4vu : #<PG::Error: FATAL:  permission denied for database "postgres"                                                                  
DETAIL:  User does not have CONNECT privilege.                                                                                                                 

df2cokjfj0k4vu existe déjà
- initialize_schema_migrations_table ()
-> 1.3997s
- assum_migrated_upto_version (20130924040351, ["/ home/action/braindb/db/migrate"])
-> 0.0882s 

Toute idée de ce que je fais mal. Rails étant encore un peu novice, j'oublie parfois comment configurer correctement ma base de données Postgres lors de la migration d'hôtes. 

33
Tom Maxwell

Utilisez plutôt heroku pg:reset DATABASE comme indiqué dans https://devcenter.heroku.com/articles/rake

Vous ne pouvez pas supprimer des bases de données dans Heroku avec rake db:reset car l'utilisateur ne dispose d'aucun privilège.

57
luigi7up
5
Nick Veys

J'ai récemment eu ce problème et résolu par les étapes suivantes.

  1. heroku pg --help obtient le nom des commandes pour utiliser postgres

  2. heroku pg:reset DATABASE # réinitialise la base de données

  3. Répondez à l'invite pour confirmer 

4
user3162553

J'ai eu le même problème. Je l'ai corrigé en exécutant:

heroku pg:reset DATABASE

(note: il faut spécifier DATABASE comme ci-dessus)

3
rattanak

Pour l'une de mes applications, la mise à niveau vers le premier niveau payé d'une base de données Heroku semblait fonctionner pour moi: https://devcenter.heroku.com/articles/upgrade-heroku-postgres-with-pgbackups#provision-new- plan

La raison en est que 'heroku pg: info' a révélé que j'étais au-dessus de ma limite de lignes, comme indiqué ci-dessous: Rangées: 12392/10000 (accès en écriture révoqué)

0
user1515295

Comme d’autres, j’ai eu un problème similaire, mais exécuter pg:reset n’a pas aidé: c’est là que j’ai rencontré le problème user does not have CONNECT privilege.

1) heroku pg:reset vous serez invité à entrer le nom du projet pour confirmer.

2) À partir de Docs Heroku run heroku rake db:schema:load 

0
tfantina