2013-03-08 18 views
16

UPDATE: richiesto anche nella mailing list PgAdmin-support here.Connessione a un cluster Redshift da pgAdmin


Così ho un AWS Redshift raggruppare installato e funzionante, e sono in grado di connettersi ad esso dalla riga di comando con

$ psql -h host -d database -p port -U username

voglio connettersi al cluster attraverso pgAdmin III, ma dopo che mi collego al cluster, ottengo un errore che indica:

Error: Must be superuser to view default_tablespace

nota, i campi sono entrato erano: Nome, Host, porta, manutenzione DB, Usern ame e password, tutti inseriti nello stesso modo del comando psql.

Ora, se mi collego via psql, e verifico:

$ \tu

Questo utente [l'utente master concesso da AWS] è, infatti, un superutente. Quindi ci sono suggerimenti per quale potrebbe essere la causa di questo errore?

Come domanda di follow-up, quando mi collego ad altri db remoti, non ottengo questo errore anche se non sono un superutente, quindi cosa sta succedendo qui? Che dire di Redshift causa questo errore quando si connette tramite pgAdmin?

+1

Sono in esecuzione una variante PostgreSQL molto personalizzata, quindi non sarei sorpreso se non fosse perfettamente compatibile. Cosa fa l'esecuzione di 'SHOW default_tablespace;' esegui in 'psql' quando ci si collega? In questo caso, sospetto di aver messo a punto i controlli delle autorizzazioni interne per nascondere i dettagli del sistema. –

+0

Da psql lancia lo stesso errore!Sono stato in grado di connettermi tramite pgAdmin a partire da 3 giorni fa, quindi forse hanno cambiato qualcosa da allora. È possibile interrogare le tabelle in Redshift tramite pgAdmin nonostante questo problema di autorizzazioni? Cioè qualcosa di simile disabilitando pgAdmin dal tentativo di leggere il default_tablespace? Non capisco davvero cosa sto dicendo, ma sto solo cercando di capire se sarebbe possibile hackerare pgAdmin su questo problema. – Justin

+1

Non ho dato un'occhiata, ma sospetto che richiederebbe modifiche al livello del codice sorgente, ma probabilmente non molto complicate; dovrebbe solo nascondere la sua consapevolezza dello spazio delle tabelle quando non può accedere al GUC di "default_tablespace'. PgAdmin-III è davvero pensato per PostgreSQL e non per le varianti di terze parti, ma immagino che accetterebbero una patch. Prova a chiedere sulla mailing list pgadmin-support. Se lo fai, collega nuovamente a questa domanda dal tuo post e aggiungi un link all'archivio del tuo post qui. –

risposta

12

PGAdmin 1.6.3 (from March 2007!) sta funzionando bene per me (su OS X) con Redshift.

Questo ha senso, suppongo, dato che Redshift è stato biforcuto da Postgres 8.0.

NOTA: per "bene", voglio dire che le cose che voglio da una GUI funzionano bene. Ci sono ancora alcuni capricci e messaggi di errore da eliminare.

+0

Sembra essere un problema con la versione di Postgres. Sfortunatamente la 1.6.3 non funzionerà per i nostri scopi, ma è bene sapere cosa sta succedendo. – Justin

3

Provare SQLWorkbench. Non ho provato pgadmin, ma SqlWorkbench e Postgresql jdbc connector funzionano perfettamente per me.

+1

Ho usato SQLWorkbench con successo, ma ci sono altri motivi per voler connettermi con pgAdmin. – Justin

1

Se tutto ciò che serve è un modo GUI per modificare uno SQL complessa e non si vuole copiare e incollare ogni volta che si apporta una modifica è possibile utilizzare un collegamento di modifica

pguser=> \e 

Si aprirà la editor di vostra scelta (salvato sul computer come $EDITOR)

per sovrascrivere solo per le sessioni di mantenere (se il default è vim ma vuole utilizzare gedit) eseguire questo:

$ EDITOR=gedit psql -h host -d database -p port -U username 

Modifica il tuo SQL utilizzando \e quindi salva ed esci. Farà funzionare il tuo codice. Quindi apri di nuovo \e e popolerà il tuo editor con la query precedente.

Divertiti!