Mam lokalną stronę dev na moim komputerze z serwerem Apache i bazą danych PostgreSQL 9.1. Ponieważ używam Windowsa, zainstalowałem także Cygwin. Chcę uzyskać dostęp do bazy danych i trochę pytań za pośrednictwem Cygwin Inaczej niż pgAdmin III, ale mówi mi, że nie znaleziono polecenia psql. Jak skonfigurować polecenie psql w cygwin?jak skonfigurować komendę psql w cygwin?
Odpowiedz
Jeśli dobrze rozumiem twoje pytanie, uruchamiasz cygwin, ponieważ chcesz uruchamiać zapytania w PostgreSQL za pośrednictwem bash i psql w systemie Windows, prawda?
Cygwin może uruchamiać binaria Windows z bash, więc zainstaluj natywne kompilacje Windows i upewnij się, że psql.exe znajduje się w PATH
Powinieneś być w stanie skopiować plik wykonywalny, jeśli to konieczne.
Nie ma potrzeby instalowania natywnej wersji Cygwin z PostgreSQL. Po prostu użyj istniejącego narzędzia psql i upewnij się, że masz dostęp do rodzimego programu psql.exe.
Windows psql używa funkcji konsoli Windows; Cygwin działa najlepiej w terminalu, takim jak Console2, który nie obsługuje interfejsu Windows API konsoli. Więc psql w ogóle nie działa z Cygwinem. Potrzebna jest kompilacja narzędzi klienckich Cygwin, takich jak psql. –
Najlepsze combo dla Cygwin na Windows, znalazłem, to zwykła instalacja Windows Postgres połączona z Cygwin psql.
Cygwin psql (i inne narzędzia wiersza polecenia) można dość łatwo skompilować ze źródła. Oto kroki dla 9.2.4:
$ wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
$ tar xjf postgresql-9.2.4.tar.bz2
$ cd postgresql-9.2.4/
$ ./configure
$ cd src/bin/psql
$ make
To tworzy plik binarny psql.exe, który działa dobrze z Cygwin. Jednak domyślnie próbuje połączyć się z instancją lokalną za pomocą gniazda Unix zamiast TCP. Więc użyj -h aby określić nazwę hosta TCP i siły, na przykład:
$ ./psql -h localhost -U postgres
przenieść ten psql.exe się gdzieś na swojej drodze (np ~/bin) i ewentualnie owinąć w skrypcie, aby dodać „-h localhost "dla wygody, gdy nie dostarczono żadnych innych argumentów.
Źródłem może być zmodyfikowany tak, aby zmienić ustawienia domyślne, ale to trwa rzeczywistej pracy;)
dzień dzisiejszy, po prostu trzeba zainstalować postgresql-client pakiet w Cygwin:
- Run plik cygwin setup.exe (można go uruchomić wiele razy, aby dodać więcej pakietów).
- Rodzaj postgresql w polu wyszukiwania, wybierz postgresql-client i naciśnij "Next", aby zainstalować.
Teraz można otworzyć zacisk Cygwin i wpisz PSQL uciekać!
Cygwin nie jest już „oficjalnie” jest obsługiwany przez PostgreSQL (patrz podręcznik: „Cygwin nie jest zalecane dla uruchomiony serwer produkcyjny, a powinien być stosowany tylko do jazdy na starszych wersjach systemu Windows, gdzie natywna kompilacja nie działa, na przykład Windows 98. ") Czy istnieje szczególny powód, dla którego nie chcesz używać pgAdmin lub dostarczonego natywnego Windowsa psql? –
@RobertH Właściwie nie ma konkretnego powodu, po prostu myślę, że byłoby wygodnie robić wszystkie rzeczy w cygwin zamiast utrzymywać kolejny program pgAdmin obok niego.Nawiasem mówiąc, czym jest natywne okno psql, o którym wspomniałeś? – chaonextdoor
@RobertH Jeszcze jedno, tak naprawdę mogę uzyskać dostęp do bazy danych naszej witryny produkcyjnej poprzez cygwin za pomocą psql. Ale ponieważ jestem systemem Windows, myślę, że może potrzebuję dodatkowej instalacji, aby uzyskać dostęp do mojej lokalnej bazy danych. – chaonextdoor