2013-03-08 17 views
16

UPDATE: również zapytano na liście mailingowej PgAdmin-support here.Podłączanie do klastra Redshift od pgAdmin


Tak Mam AWS Redshift klaster działa, a ja jestem w stanie połączyć się z nim z linii poleceń z

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

chcę podłączyć do klastra poprzez pgAdmin III, ale po podłączeniu do klastra, pojawia się błąd, który stwierdza:

Error: Must be superuser to view default_tablespace

Uwaga, pola wszedłem to: nazwa, host, port, Konserwacja DB Usern ame i Password, z których wszystkie wprowadzono tak samo, jak z poleceniem psql.

Teraz, jeśli mogę podłączyć poprzez psql, a ja sprawdzić:

$ \tu

Ten użytkownik [przyznawana przez AWS użytkownik mistrz] jest w rzeczywistości, superuser. Czy są więc jakieś sugestie, co może być przyczyną tego błędu?

Jako pytanie uzupełniające, po podłączeniu do innych zdalnych dbs, nie dostaję tego błędu, mimo że nie jestem superużytkownikiem, więc co się tutaj dzieje? A co z Redshift powoduje, że błąd ten występuje podczas łączenia się przez pgAdmin?

+1

Działają w bardzo spersonalizowanym wariancie PostgreSQL, więc nie będę zaskoczony, jeśli nie będzie idealnie zgodny. Co robi program 'SHOW default_tablespace;' w 'psql' po podłączeniu? W tym przypadku podejrzewam, że wpłynęły one na wewnętrzne kontrole uprawnień, aby ukryć szczegóły systemu. –

+0

Od psql wyrzuca ten sam błąd!Udało mi się połączyć przez pgAdmin od 3 dni temu, więc być może od tego czasu coś zmienili. Czy pomimo tego problemu uprawnień możliwe jest zapytanie do tabel w Redshift przez pgAdmin? To znaczy. coś jak wyłączanie pgAdmin z próby odczytania default_tablespace? Naprawdę nie rozumiem, co mówię, ale próbuję po prostu dowiedzieć się, czy byłoby możliwe zhakowanie pgAdmin wokół tego problemu. – Justin

+1

Nie patrzyłem, ale podejrzewam, że wymagałoby to zmian w poziomie kodu źródłowego, ale prawdopodobnie nie są to bardzo skomplikowane; musiałby po prostu ukryć swoją świadomość obszaru tabel, gdy nie mógł uzyskać dostępu do GUC "default_tablespace". PgAdmin-III jest naprawdę przeznaczony dla PostgreSQL, a nie dla wariantów firm trzecich, ale wyobrażam sobie, że zaakceptują łatkę. Spróbuj zapytać na liście mailingowej pgadmin-support. Jeśli to zrobisz, powróć do tego pytania ze swojego wpisu i dodaj link do archiwum swojego wpisu tutaj. –

Odpowiedz

12

PGAdmin 1.6.3 (from March 2007!) działa dobrze dla mnie (na OS X) z Redshift.

To ma sens, biorąc pod uwagę, że Redshift został rozwidlony z PostgreSQL 8.0.

UWAGA: przez "dobrze" rozumiem, że rzeczy, które chcę z GUI działają poprawnie. Nadal istnieje kilka dziwactw i komunikatów o błędach do odrzucenia.

+0

Wydaje się, że problem dotyczy wersji Postgres. Niestety 1.6.3 nie będzie działać dla naszych celów, ale dobrze jest wiedzieć, co się dzieje. – Justin

3

Wypróbuj SQLWorkbench. Nie próbowałem pgadmin, ale SqlWorkbench i Postgresql jdbc działają dla mnie idealnie.

+1

Użyłem SQLWorkbench pomyślnie, ale istnieją inne powody, dla których chce się połączyć z pgAdmin. – Justin

1

Jeśli wszystko czego potrzebujesz to sposób GUI edycję złożoną SQL i nie chcesz, aby skopiować i wkleić każdorazowym wprowadzeniu zmian można użyć skrótu Montaż

pguser=> \e 

będą otwarte redaktor wyboru (zapisany na komputerze jako $EDITOR)

nadpisać go tylko dla sesji trzymajmy (jeśli domyślnym jest vim ale chcą korzystać gedit) prowadzą to:

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

Edytuj swój SQL za pomocą \e, a następnie zapisz i zakończ. Uruchomi twój kod. Następnie ponownie otwórz \e i zapełni on twój edytor poprzednim zapytaniem.

Ciesz się!