Collegati a un database heroku con pgadmin


181

Vorrei gestire il mio database heroku con il pgadminclient. Ormai lo sto facendo con psql. Quando utilizzo i dati heroku pg:credentialsper connettermi al DB usando pgadmin, ottengo:

C'è stato un errore:

Errore durante la connessione al server: FATAL: autorizzazione negata per il database "postgres" DETTAGLIO: l'utente non dispone del privilegio CONNECT.

Qualche guida su come raggiungere la connessione?


1
Grazie per aver posto questa domanda, non sapevo che fosse possibile
Slow Harry,

Risposte:


327

Aprire le "Proprietà" del server Heroku in pgAdminIII e modificare il valore "DB di manutenzione" in modo che sia il nome del database a cui connettersi.

pgAdmin III - Registrazione nuovo server

L'impostazione predefinita è adatta a DBA e altri che possono connettersi a qualsiasi database sul server, ma a quanto pare non è vero nel tuo caso.


9
Come suggerito in un'altra risposta , dovrai abilitare SSL selezionando "SSL | SSL | richiedi" anche nella finestra di dialogo della connessione, altrimenti non riuscirà comunque a connettersi.
Brad Parks,

se hai l'app Rails puoi accedere a DB usando github.com/igorkasyanchuk/rails_db
Igor Kasyanchuk

Viene visualizzato l'errore su pgadmin 3 che il server che si sta tentando di connettere non è compreso tra 8,4 e 9,3 e si connette ma mostra un elenco di 159 database con popup di errore in ogni momento.
Abhishek,

3
Questo ha smesso di funzionare per me? Funziona ancora per chiunque?
Rune Jeppesen,

@Ced sì, anch'io adesso - Windows aveva deciso di attivare il mio firewall e bloccare quella porta: - /
Rune Jeppesen,

102

Dopo aver modificato il nome del DB di manutenzione come suggerito dalla risposta precedente di araqnid , è necessario aggiungere anche il database al campo delle restrizioni del DB perché senza questo vedrai migliaia di database e potresti non essere in grado di trovare il tuo nell'elenco se l'elenco è troppo lungo.

Maggiori dettagli qui - Come nascondere i database a cui non posso accedere


5
+1 e quando si aggiunge il nome del db, assicurarsi di citarlo tra virgolette singole poiché verrà utilizzato per generare dinamicamente una INclausola per filtrare l'elenco dei db.
Glenn,

20

Richiediamo SSL per connessioni al di fuori di heroku. Verifica se stai forzando SSL nel tuo client.

Modificare:

Risposte più approfondite qui: /dba/21869/connecting-pgadmin3-to-postgres-on-heroku

Non consentiamo connessioni al postgresdatabase, quindi assicurati di impostare DB di manutenzione sul nome del tuo database e assicurati di utilizzare SSL.

Speriamo che ciò sia sufficiente.


2
Ho bisogno di alcun tipo di file / chiavi per forzare SSL? (mi scusi per l'ignoranza)
Tomas Romero

in genere le interfacce grafiche hanno una casella di controllo SSL da qualche parte. Non uso pgadmin, ma in base ai documenti [1] sembra che ci sia una scheda SSL nella finestra di dialogo di configurazione della connessione. [1] pgadmin.org/docs/dev/connect.html
hgmnz,

Quando ho fatto clic sulla scheda SSL, mi chiedevano certificati e una chiave e non ne conoscevo i valori. Sebbene, comprando l'impostazione del nome DB di manutenzione sul mio nome DB heroku, potrei connettermi configurando solo la scheda "Proprietà", senza dover specificare nulla sull'SSL (questo viene fatto apparentemente automaticamente)
Tomas Romero,

10

Modificare il database di manutenzione con il nome del database, ad esempio dva70000p0090. Questo dovrebbe funzionare.

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.