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.